Version Description
- WSL can be fully integrated with your BuddyPress installation: display of users avatars and xprofiles mapping.
- WSL is now updated to work with the latest apis changes of the supported social networks.
- WSL Widget is now more flexible than before and can be fully customized to fit you website theme.
- Introducing new providers : Reddit, Disqus and PixelPin.
- WSL Hooks has been reworked and few hooks have been depreciated in favour of new ones. For more information, see: http://hybridauth.sourceforge.net/wsl/developer.html
- A number of bugfixes, small enhancements and visual updates.
Download this release
Release Info
Developer | miled |
Plugin | WordPress Social Login |
Version | 2.2.1 |
Comparing to | |
See all releases |
Code changes from version 2.1.6 to 2.2.1
- assets/css/style.css +11 -13
- assets/img/16x16/500px.png +0 -0
- assets/img/16x16/disqus.png +0 -0
- assets/img/16x16/dribbble.png +0 -0
- assets/img/16x16/flickr.png +0 -0
- assets/img/16x16/github.png +0 -0
- assets/img/16x16/hyves.png +0 -0
- assets/img/16x16/instagram.png +0 -0
- assets/img/16x16/latch.png +0 -0
- assets/img/16x16/livejournal.png +0 -0
- assets/img/16x16/mailru.png +0 -0
- assets/img/16x16/mixi.png +0 -0
- assets/img/16x16/mixx.png +0 -0
- assets/img/16x16/myspace.png +0 -0
- assets/img/16x16/odnoklassniki.png +0 -0
- assets/img/16x16/{openid-2.png → openid.png} +0 -0
- assets/img/16x16/orkut.png +0 -0
- assets/img/16x16/pixelpin.png +0 -0
- assets/img/16x16/{flickr-2.png → reddit.png} +0 -0
- assets/img/16x16/stackoverflow.png +0 -0
- assets/img/16x16/steam.png +0 -0
- assets/img/16x16/twitchtv.png +0 -0
- assets/img/16x16/vkontakte.png +0 -0
- assets/img/16x16/wordpress.png +0 -0
- assets/img/16x16/yandex.png +0 -0
- assets/img/32x32/icondock/disqus.png +0 -0
- assets/img/32x32/icondock/gowalla.png +0 -0
- assets/img/32x32/icondock/info.txt +6 -2
- assets/img/32x32/icondock/latch.png +0 -0
- assets/img/32x32/icondock/myspace.png +0 -0
- assets/img/32x32/icondock/paypal.png +0 -0
- assets/img/32x32/icondock/pixelpin.png +0 -0
- assets/img/32x32/icondock/reddit.png +0 -0
- assets/img/32x32/wpzoom/disqus.png +0 -0
- assets/img/32x32/wpzoom/gowalla.png +0 -0
- assets/img/32x32/wpzoom/latch.png +0 -0
- assets/img/32x32/wpzoom/myspace.png +0 -0
- assets/img/32x32/wpzoom/{openid-2.png → openid.png} +0 -0
- assets/img/32x32/wpzoom/paypal.png +0 -0
- assets/img/32x32/wpzoom/pixelpin.png +0 -0
- assets/img/32x32/wpzoom/reddit.png +0 -0
- assets/img/alert.png +0 -0
- assets/img/arr_right.png +0 -0
- assets/js/connect.js +0 -49
- assets/js/script.js +64 -0
- hybridauth/Hybrid/Auth.php +15 -20
- hybridauth/Hybrid/Endpoint.php +16 -17
- hybridauth/Hybrid/Error.php +11 -6
- hybridauth/Hybrid/Exception.php +16 -0
- hybridauth/Hybrid/Logger.php +37 -13
- hybridauth/Hybrid/Provider_Adapter.php +61 -22
- hybridauth/Hybrid/Provider_Model.php +47 -15
- hybridauth/Hybrid/Provider_Model_OAuth1.php +20 -10
- hybridauth/Hybrid/Provider_Model_OAuth2.php +15 -7
- hybridauth/Hybrid/Provider_Model_OpenID.php +44 -37
- hybridauth/Hybrid/Providers/Disqus.php +59 -0
- hybridauth/Hybrid/Providers/Facebook.php +201 -37
- hybridauth/Hybrid/Providers/Foursquare.php +1 -1
- hybridauth/Hybrid/Providers/GitHub.php +17 -1
- hybridauth/Hybrid/Providers/Goodreads.php +7 -7
- hybridauth/Hybrid/Providers/Google.php +197 -33
- hybridauth/Hybrid/Providers/Gowalla.php +0 -102
- hybridauth/Hybrid/Providers/Identica.php +1 -1
- hybridauth/Hybrid/Providers/Instagram.php +48 -48
- hybridauth/Hybrid/Providers/LastFM.php +3 -3
- hybridauth/Hybrid/Providers/Latch.php +30 -0
- hybridauth/Hybrid/Providers/LinkedIn.php +5 -2
- hybridauth/Hybrid/Providers/Live.php +2 -2
- hybridauth/Hybrid/Providers/Mailru.php +1 -1
- hybridauth/Hybrid/Providers/MySpace.php +0 -164
- hybridauth/Hybrid/Providers/Odnoklassniki.php +23 -16
- hybridauth/Hybrid/Providers/Paypal.php +146 -0
- hybridauth/Hybrid/Providers/PixelPin.php +49 -0
- hybridauth/Hybrid/Providers/Reddit.php +205 -0
- hybridauth/Hybrid/Providers/Steam.php +15 -19
- hybridauth/Hybrid/Providers/Twitter.php +118 -13
- hybridauth/Hybrid/Providers/Vkontakte.php +44 -8
- hybridauth/Hybrid/Providers/Yahoo.php +11 -11
- hybridauth/Hybrid/Providers/Yandex.php +3 -3
- hybridauth/Hybrid/Storage.php +61 -18
- hybridauth/Hybrid/StorageInterface.php +28 -0
- hybridauth/Hybrid/User.php +16 -7
- hybridauth/Hybrid/User_Activity.php +22 -7
- hybridauth/Hybrid/User_Contact.php +32 -11
- hybridauth/Hybrid/User_Profile.php +125 -59
- hybridauth/Hybrid/resources/config.php.tpl +72 -0
- hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php +171 -61
- hybridauth/Hybrid/thirdparty/Facebook/facebook.php +76 -8
- hybridauth/Hybrid/thirdparty/LinkedIn/LinkedIn.php +16 -7
- hybridauth/Hybrid/thirdparty/OAuth/OAuth.php +20 -16
- hybridauth/Hybrid/thirdparty/OAuth/OAuth1Client.php +40 -16
- hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php +22 -11
- hybridauth/Hybrid/thirdparty/OpenID/LightOpenID.php +984 -834
- hybridauth/Hybrid/thirdparty/Paypal/PaypalOAuth2Client.php +142 -0
- hybridauth/changes.txt +26 -0
- hybridauth/readme.txt +2 -11
- includes/admin/components/advanced/index.php +0 -111
- includes/admin/components/bouncer/index.php +1 -3
- includes/admin/components/bouncer/wsl.components.bouncer.setup.php +33 -25
- includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php +5 -5
- includes/admin/components/buddypress/index.php +60 -0
- includes/admin/components/buddypress/wsl.components.buddypress.notfound.php +59 -0
- includes/admin/components/buddypress/wsl.components.buddypress.setup.php +256 -0
- includes/admin/components/buddypress/wsl.components.buddypress.sidebar.php +50 -0
- includes/admin/components/components/index.php +1 -1
- includes/admin/components/components/wsl.components.help.gallery.php +3 -15
- includes/admin/components/components/wsl.components.help.setup.php +37 -10
- includes/admin/components/contacts/index.php +136 -116
- includes/admin/components/diagnostics/index.php +60 -43
- includes/admin/components/help/index.php +56 -6
- includes/admin/components/login-widget/index.php +1 -3
- includes/admin/components/login-widget/wsl.components.loginwidget.setup.php +109 -38
- includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php +14 -10
- includes/admin/components/networks/index.php +1 -1
- includes/admin/components/networks/wsl.components.networks.addmore.php +4 -5
- includes/admin/components/networks/wsl.components.networks.basicinsights.php +69 -110
- includes/admin/components/networks/wsl.components.networks.setup.php +135 -101
- includes/admin/components/networks/wsl.components.networks.whyhello.php +12 -13
- includes/admin/components/users/index.php +1 -1
- includes/admin/components/users/wsl.components.users.list.php +149 -84
- includes/admin/components/users/wsl.components.users.profile.php +109 -40
- includes/admin/components/watchdog/index.php +214 -0
- includes/admin/wsl.admin.ui.php +105 -250
- includes/services/wsl.authentication.php +660 -734
- includes/services/wsl.mail.notification.php +4 -3
- includes/services/wsl.user.avatar.php +106 -39
- includes/services/wsl.user.data.php +238 -128
- includes/services/wsl.utilities.php +385 -0
- includes/settings/wsl.compatibilities.php +34 -86
- includes/settings/wsl.database.php +45 -42
- includes/settings/wsl.initialization.php +60 -209
- includes/settings/wsl.providers.php +76 -46
- includes/widgets/wsl.auth.widget.php +169 -315
- includes/widgets/wsl.complete.registration.php +71 -73
- includes/widgets/wsl.error.pages.php +285 -0
- includes/widgets/wsl.loading.screens.php +200 -0
- includes/widgets/wsl.notices.php +0 -67
- languages/readme.txt +6 -0
- languages/wordpress-social-login-ar.mo +0 -0
- languages/wordpress-social-login-ar.po +0 -1446
- languages/wordpress-social-login-de_DE.mo +0 -0
- languages/wordpress-social-login-de_DE.po +0 -1449
- languages/wordpress-social-login-es_ES.mo +0 -0
- languages/wordpress-social-login-es_ES.po +0 -1446
- languages/wordpress-social-login-fr_FR.mo +0 -0
- languages/wordpress-social-login-fr_FR.po +0 -1446
- languages/wordpress-social-login-he_IL.mo +0 -0
- languages/wordpress-social-login-he_IL.po +0 -1446
- languages/wordpress-social-login-ja.mo +0 -0
- languages/wordpress-social-login-ja.po +0 -1446
- languages/wordpress-social-login-ru_RU.mo +0 -0
- languages/wordpress-social-login-ru_RU.po +0 -1446
- languages/wordpress-social-login-zh_CN.mo +0 -0
- languages/wordpress-social-login-zh_CN.po +0 -827
assets/css/style.css
CHANGED
@@ -1,15 +1,13 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
|
|
|
|
4 |
|
5 |
-
|
6 |
-
padding:10px;
|
7 |
-
}
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
}
|
12 |
-
|
13 |
-
|
14 |
-
border:0 none;
|
15 |
-
}
|
1 |
+
/*
|
2 |
+
! Notes:
|
3 |
+
! Since WSL 2.2.1, all elements IDs generated by the widget are replaced by css classes :
|
4 |
+
! #wp-social-login-connect-with replaced with .wp-social-login-connect-with
|
5 |
+
! #wp-social-login-connect-options replaced with .wp-social-login-provider-list
|
6 |
|
7 |
+
! Class .wsl_connect_with_provider will be replaced with .wp-social-login-provider .wp-social-login-provider-{provider}
|
|
|
|
|
8 |
|
9 |
+
! Those depreciated selectors are kept for backward compatibility and will be removed.
|
10 |
+
*/
|
11 |
+
.wp-social-login-provider-list { padding: 10px; }
|
12 |
+
.wp-social-login-provider-list a {text-decoration: none; }
|
13 |
+
.wp-social-login-provider-list img{ border: 0 none; }
|
|
|
|
assets/img/16x16/500px.png
CHANGED
Binary file
|
assets/img/16x16/disqus.png
ADDED
Binary file
|
assets/img/16x16/dribbble.png
DELETED
Binary file
|
assets/img/16x16/flickr.png
CHANGED
Binary file
|
assets/img/16x16/github.png
CHANGED
Binary file
|
assets/img/16x16/hyves.png
CHANGED
Binary file
|
assets/img/16x16/instagram.png
CHANGED
Binary file
|
assets/img/16x16/latch.png
ADDED
Binary file
|
assets/img/16x16/livejournal.png
DELETED
Binary file
|
assets/img/16x16/mailru.png
CHANGED
Binary file
|
assets/img/16x16/mixi.png
CHANGED
Binary file
|
assets/img/16x16/mixx.png
DELETED
Binary file
|
assets/img/16x16/myspace.png
DELETED
Binary file
|
assets/img/16x16/odnoklassniki.png
CHANGED
Binary file
|
assets/img/16x16/{openid-2.png → openid.png}
RENAMED
File without changes
|
assets/img/16x16/orkut.png
DELETED
Binary file
|
assets/img/16x16/pixelpin.png
ADDED
Binary file
|
assets/img/16x16/{flickr-2.png → reddit.png}
RENAMED
Binary file
|
assets/img/16x16/stackoverflow.png
CHANGED
Binary file
|
assets/img/16x16/steam.png
CHANGED
Binary file
|
assets/img/16x16/twitchtv.png
CHANGED
Binary file
|
assets/img/16x16/vkontakte.png
CHANGED
Binary file
|
assets/img/16x16/wordpress.png
CHANGED
Binary file
|
assets/img/16x16/yandex.png
CHANGED
Binary file
|
assets/img/32x32/icondock/disqus.png
ADDED
Binary file
|
assets/img/32x32/icondock/gowalla.png
DELETED
Binary file
|
assets/img/32x32/icondock/info.txt
CHANGED
@@ -1,6 +1,10 @@
|
|
1 |
Vector Social Media Icons
|
2 |
-
by IconDock.com
|
3 |
|
4 |
URL: http://icondock.com/free/vector-social-media-icons
|
5 |
|
6 |
-
Note: the company logos in the icons are copyright of their respective owners.
|
|
|
|
|
|
|
|
1 |
Vector Social Media Icons
|
2 |
+
by IconDock.com
|
3 |
|
4 |
URL: http://icondock.com/free/vector-social-media-icons
|
5 |
|
6 |
+
Note: the company logos in the icons are copyright of their respective owners.
|
7 |
+
|
8 |
+
From http://icondock.com/free/vector-social-media-icons
|
9 |
+
"Free to use for whatever purposes. If you use these icons, an optional link to
|
10 |
+
http://icondock.com would be appreciated. Thank you."
|
assets/img/32x32/icondock/latch.png
ADDED
Binary file
|
assets/img/32x32/icondock/myspace.png
DELETED
Binary file
|
assets/img/32x32/icondock/paypal.png
ADDED
Binary file
|
assets/img/32x32/icondock/pixelpin.png
ADDED
Binary file
|
assets/img/32x32/icondock/reddit.png
ADDED
Binary file
|
assets/img/32x32/wpzoom/disqus.png
ADDED
Binary file
|
assets/img/32x32/wpzoom/gowalla.png
DELETED
Binary file
|
assets/img/32x32/wpzoom/latch.png
ADDED
Binary file
|
assets/img/32x32/wpzoom/myspace.png
DELETED
Binary file
|
assets/img/32x32/wpzoom/{openid-2.png → openid.png}
RENAMED
File without changes
|
assets/img/32x32/wpzoom/paypal.png
ADDED
Binary file
|
assets/img/32x32/wpzoom/pixelpin.png
ADDED
Binary file
|
assets/img/32x32/wpzoom/reddit.png
ADDED
Binary file
|
assets/img/alert.png
CHANGED
Binary file
|
assets/img/arr_right.png
ADDED
Binary file
|
assets/js/connect.js
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
/* Based on http://wordpress.org/extend/plugins/social-connect/ */
|
2 |
-
|
3 |
-
(function($){
|
4 |
-
$(function(){
|
5 |
-
$(".wsl_connect_with_provider").click(function(){
|
6 |
-
popupurl = $("#wsl_popup_base_url").val();
|
7 |
-
provider = $(this).attr("data-provider");
|
8 |
-
|
9 |
-
window.open(
|
10 |
-
popupurl+"provider="+provider,
|
11 |
-
"hybridauth_social_sing_on",
|
12 |
-
"location=1,status=0,scrollbars=0,width=1000,height=600"
|
13 |
-
);
|
14 |
-
});
|
15 |
-
});
|
16 |
-
})(jQuery);
|
17 |
-
|
18 |
-
window.wsl_wordpress_social_login = function(config) {
|
19 |
-
jQuery('#loginform').unbind('submit.simplemodal-login');
|
20 |
-
|
21 |
-
var form_id = '#loginform';
|
22 |
-
|
23 |
-
if(!jQuery('#loginform').length) {
|
24 |
-
// if register form exists, just use that
|
25 |
-
if( jQuery('#registerform').length ) {
|
26 |
-
form_id = '#registerform';
|
27 |
-
}
|
28 |
-
else {
|
29 |
-
// create the login form
|
30 |
-
var login_uri = jQuery("#wsl_login_form_uri").val();
|
31 |
-
|
32 |
-
jQuery('body').append("<form id='loginform' method='post' action='" + login_uri + "'></form>");
|
33 |
-
jQuery('#loginform').append("<input type='hidden' id='redirect_to' name='redirect_to' value='" + window.location.href + "'>");
|
34 |
-
}
|
35 |
-
}
|
36 |
-
|
37 |
-
jQuery.each(config, function(key, value) {
|
38 |
-
jQuery("#" + key).remove();
|
39 |
-
jQuery(form_id).append("<input type='hidden' id='" + key + "' name='" + key + "' value='" + value + "'>");
|
40 |
-
});
|
41 |
-
|
42 |
-
if(jQuery("#simplemodal-login-form").length) {
|
43 |
-
var current_url = window.location.href;
|
44 |
-
jQuery("#redirect_to").remove();
|
45 |
-
jQuery(form_id).append("<input type='hidden' id='redirect_to' name='redirect_to' value='" + current_url + "'>");
|
46 |
-
}
|
47 |
-
|
48 |
-
jQuery(form_id).submit();
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/script.js
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* WordPress Social Login
|
3 |
+
*
|
4 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
5 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Manage authentications via a popup
|
10 |
+
*
|
11 |
+
* Based on http://wordpress.org/extend/plugins/social-connect/
|
12 |
+
*/
|
13 |
+
|
14 |
+
(function($){
|
15 |
+
$(function(){
|
16 |
+
//
|
17 |
+
$(document).on("click", "a.wsl_connect_with_provider", function(){
|
18 |
+
popupurl = $("#wsl_popup_base_url").val();
|
19 |
+
provider = $(this).attr("data-provider");
|
20 |
+
|
21 |
+
window.open( popupurl + "provider=" + provider, "hybridauth_social_sing_on", "location=1,status=0,scrollbars=0,width=1000,height=600" );
|
22 |
+
});
|
23 |
+
});
|
24 |
+
})(jQuery);
|
25 |
+
|
26 |
+
/**
|
27 |
+
*
|
28 |
+
*/
|
29 |
+
window.wsl_wordpress_social_login = function(config){
|
30 |
+
jQuery('#loginform').unbind('submit.simplemodal-login');
|
31 |
+
|
32 |
+
var form_id = '#loginform';
|
33 |
+
|
34 |
+
if( ! jQuery('#loginform').length ){
|
35 |
+
// if register form exists, just use that
|
36 |
+
if( jQuery('#registerform').length ){
|
37 |
+
form_id = '#registerform';
|
38 |
+
}
|
39 |
+
|
40 |
+
// create the login form
|
41 |
+
else {
|
42 |
+
var login_uri = jQuery("#wsl_login_form_uri").val();
|
43 |
+
|
44 |
+
jQuery('body').append( "<form id='loginform' method='post' action='" + login_uri + "'></form>" );
|
45 |
+
jQuery('#loginform').append( "<input type='hidden' id='redirect_to' name='redirect_to' value='" + window.location.href + "'>" );
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
jQuery.each(config, function(key, value){
|
50 |
+
jQuery("#" + key).remove();
|
51 |
+
|
52 |
+
jQuery(form_id).append( "<input type='hidden' id='" + key + "' name='" + key + "' value='" + value + "'>" );
|
53 |
+
});
|
54 |
+
|
55 |
+
if( jQuery("#simplemodal-login-form").length ){
|
56 |
+
var current_url = window.location.href;
|
57 |
+
|
58 |
+
jQuery("#redirect_to").remove();
|
59 |
+
|
60 |
+
jQuery(form_id).append( "<input type='hidden' id='redirect_to' name='redirect_to' value='" + current_url + "'>" );
|
61 |
+
}
|
62 |
+
|
63 |
+
jQuery(form_id).submit();
|
64 |
+
}
|
hybridauth/Hybrid/Auth.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -14,7 +14,7 @@
|
|
14 |
*/
|
15 |
class Hybrid_Auth
|
16 |
{
|
17 |
-
public static $version = "2.
|
18 |
|
19 |
public static $config = array();
|
20 |
|
@@ -68,10 +68,9 @@ class Hybrid_Auth
|
|
68 |
|
69 |
# load hybridauth required files, a autoload is on the way...
|
70 |
require_once $config["path_base"] . "Error.php";
|
|
|
71 |
require_once $config["path_base"] . "Logger.php";
|
72 |
|
73 |
-
require_once $config["path_base"] . "Storage.php";
|
74 |
-
|
75 |
require_once $config["path_base"] . "Provider_Adapter.php";
|
76 |
|
77 |
require_once $config["path_base"] . "Provider_Model.php";
|
@@ -84,13 +83,17 @@ class Hybrid_Auth
|
|
84 |
require_once $config["path_base"] . "User_Contact.php";
|
85 |
require_once $config["path_base"] . "User_Activity.php";
|
86 |
|
|
|
|
|
|
|
|
|
87 |
// hash given config
|
88 |
Hybrid_Auth::$config = $config;
|
89 |
|
90 |
-
//
|
91 |
Hybrid_Auth::$logger = new Hybrid_Logger();
|
92 |
|
93 |
-
//
|
94 |
Hybrid_Auth::$error = new Hybrid_Error();
|
95 |
|
96 |
// start session storage mng
|
@@ -161,7 +164,7 @@ class Hybrid_Auth
|
|
161 |
/**
|
162 |
* Hybrid storage system accessor
|
163 |
*
|
164 |
-
* Users sessions are stored using HybridAuth storage system ( HybridAuth 2.0 handle PHP Session only) and can be
|
165 |
* Hybrid_Auth::storage()->get($key) to retrieves the data for the given key, or calling
|
166 |
* Hybrid_Auth::storage()->set($key, $value) to store the key => $value set.
|
167 |
*/
|
@@ -249,7 +252,7 @@ class Hybrid_Auth
|
|
249 |
if( ! $params ){
|
250 |
$params = Hybrid_Auth::storage()->get( "hauth_session.$providerId.id_provider_params" );
|
251 |
|
252 |
-
Hybrid_Logger::debug( "Hybrid_Auth::setup( $providerId ), no params given. Trying to get the
|
253 |
}
|
254 |
|
255 |
if( ! $params ){
|
@@ -258,11 +261,11 @@ class Hybrid_Auth
|
|
258 |
Hybrid_Logger::info( "Hybrid_Auth::setup( $providerId ), no stored params found for this provider. Initialize a new one for new session" );
|
259 |
}
|
260 |
|
261 |
-
if( ! isset( $params["hauth_return_to"] ) ){
|
262 |
$params["hauth_return_to"] = Hybrid_Auth::getCurrentUrl();
|
263 |
-
}
|
264 |
|
265 |
-
|
|
|
266 |
|
267 |
# instantiate a new IDProvider Adapter
|
268 |
$provider = new Hybrid_Provider_Adapter();
|
@@ -385,14 +388,6 @@ class Hybrid_Auth
|
|
385 |
|
386 |
$url = $protocol . $_SERVER['HTTP_HOST'];
|
387 |
|
388 |
-
// use port if non default
|
389 |
-
if( isset( $_SERVER['SERVER_PORT'] ) && strpos( $url, ':'.$_SERVER['SERVER_PORT'] ) === FALSE ) {
|
390 |
-
$url .= ($protocol === 'http://' && $_SERVER['SERVER_PORT'] != 80 && !isset( $_SERVER['HTTP_X_FORWARDED_PROTO']))
|
391 |
-
|| ($protocol === 'https://' && $_SERVER['SERVER_PORT'] != 443 && !isset( $_SERVER['HTTP_X_FORWARDED_PROTO']))
|
392 |
-
? ':' . $_SERVER['SERVER_PORT']
|
393 |
-
: '';
|
394 |
-
}
|
395 |
-
|
396 |
if( $request_uri ){
|
397 |
$url .= $_SERVER['REQUEST_URI'];
|
398 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
14 |
*/
|
15 |
class Hybrid_Auth
|
16 |
{
|
17 |
+
public static $version = "2.3.0-dev";
|
18 |
|
19 |
public static $config = array();
|
20 |
|
68 |
|
69 |
# load hybridauth required files, a autoload is on the way...
|
70 |
require_once $config["path_base"] . "Error.php";
|
71 |
+
require_once $config["path_base"] . "Exception.php";
|
72 |
require_once $config["path_base"] . "Logger.php";
|
73 |
|
|
|
|
|
74 |
require_once $config["path_base"] . "Provider_Adapter.php";
|
75 |
|
76 |
require_once $config["path_base"] . "Provider_Model.php";
|
83 |
require_once $config["path_base"] . "User_Contact.php";
|
84 |
require_once $config["path_base"] . "User_Activity.php";
|
85 |
|
86 |
+
if ( ! class_exists("Hybrid_Storage", false) ){
|
87 |
+
require_once $config["path_base"] . "Storage.php";
|
88 |
+
}
|
89 |
+
|
90 |
// hash given config
|
91 |
Hybrid_Auth::$config = $config;
|
92 |
|
93 |
+
// instance of log mng
|
94 |
Hybrid_Auth::$logger = new Hybrid_Logger();
|
95 |
|
96 |
+
// instance of errors mng
|
97 |
Hybrid_Auth::$error = new Hybrid_Error();
|
98 |
|
99 |
// start session storage mng
|
164 |
/**
|
165 |
* Hybrid storage system accessor
|
166 |
*
|
167 |
+
* Users sessions are stored using HybridAuth storage system ( HybridAuth 2.0 handle PHP Session only) and can be accessed directly by
|
168 |
* Hybrid_Auth::storage()->get($key) to retrieves the data for the given key, or calling
|
169 |
* Hybrid_Auth::storage()->set($key, $value) to store the key => $value set.
|
170 |
*/
|
252 |
if( ! $params ){
|
253 |
$params = Hybrid_Auth::storage()->get( "hauth_session.$providerId.id_provider_params" );
|
254 |
|
255 |
+
Hybrid_Logger::debug( "Hybrid_Auth::setup( $providerId ), no params given. Trying to get the stored for this provider.", $params );
|
256 |
}
|
257 |
|
258 |
if( ! $params ){
|
261 |
Hybrid_Logger::info( "Hybrid_Auth::setup( $providerId ), no stored params found for this provider. Initialize a new one for new session" );
|
262 |
}
|
263 |
|
264 |
+
if( is_array($params) && ! isset( $params["hauth_return_to"] ) ){
|
265 |
$params["hauth_return_to"] = Hybrid_Auth::getCurrentUrl();
|
|
|
266 |
|
267 |
+
Hybrid_Logger::debug( "Hybrid_Auth::setup( $providerId ). HybridAuth Callback URL set to: ", $params["hauth_return_to"] );
|
268 |
+
}
|
269 |
|
270 |
# instantiate a new IDProvider Adapter
|
271 |
$provider = new Hybrid_Provider_Adapter();
|
388 |
|
389 |
$url = $protocol . $_SERVER['HTTP_HOST'];
|
390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
if( $request_uri ){
|
392 |
$url .= $_SERVER['REQUEST_URI'];
|
393 |
}
|
hybridauth/Hybrid/Endpoint.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -119,8 +119,7 @@ class Hybrid_Endpoint {
|
|
119 |
if( ! Hybrid_Auth::storage()->get( "hauth_session.$provider_id.hauth_endpoint" ) ) {
|
120 |
Hybrid_Logger::error( "Endpoint: hauth_endpoint parameter is not defined on hauth_start, halt login process!" );
|
121 |
|
122 |
-
|
123 |
-
die( "You cannot access this page directly." );
|
124 |
}
|
125 |
|
126 |
# define:hybrid.endpoint.php step 2.
|
@@ -130,8 +129,7 @@ class Hybrid_Endpoint {
|
|
130 |
if( ! $hauth ) {
|
131 |
Hybrid_Logger::error( "Endpoint: Invalid parameter on hauth_start!" );
|
132 |
|
133 |
-
|
134 |
-
die( "Invalid parameter! Please return to the login page and try again." );
|
135 |
}
|
136 |
|
137 |
try {
|
@@ -141,7 +139,7 @@ class Hybrid_Endpoint {
|
|
141 |
}
|
142 |
catch ( Exception $e ) {
|
143 |
Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e );
|
144 |
-
Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e );
|
145 |
|
146 |
$hauth->returnToCallbackUrl();
|
147 |
}
|
@@ -165,8 +163,7 @@ class Hybrid_Endpoint {
|
|
165 |
|
166 |
$hauth->adapter->setUserUnconnected();
|
167 |
|
168 |
-
|
169 |
-
die( "Invalid parameter! Please return to the login page and try again." );
|
170 |
}
|
171 |
|
172 |
try {
|
@@ -176,7 +173,7 @@ class Hybrid_Endpoint {
|
|
176 |
}
|
177 |
catch( Exception $e ){
|
178 |
Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e );
|
179 |
-
Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e
|
180 |
|
181 |
$hauth->adapter->setUserUnconnected();
|
182 |
}
|
@@ -194,23 +191,25 @@ class Hybrid_Endpoint {
|
|
194 |
|
195 |
# Init Hybrid_Auth
|
196 |
try {
|
197 |
-
|
|
|
|
|
198 |
|
199 |
$storage = new Hybrid_Storage();
|
200 |
|
201 |
// Check if Hybrid_Auth session already exist
|
202 |
-
if ( ! $storage->config( "CONFIG" ) ) {
|
203 |
-
|
204 |
-
|
|
|
205 |
}
|
206 |
|
207 |
Hybrid_Auth::initialize( $storage->config( "CONFIG" ) );
|
208 |
}
|
209 |
catch ( Exception $e ){
|
210 |
-
Hybrid_Logger::error( "Endpoint: Error while trying to init Hybrid_Auth" );
|
211 |
|
212 |
-
|
213 |
-
die( "Oophs. Error!" );
|
214 |
}
|
215 |
}
|
216 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
119 |
if( ! Hybrid_Auth::storage()->get( "hauth_session.$provider_id.hauth_endpoint" ) ) {
|
120 |
Hybrid_Logger::error( "Endpoint: hauth_endpoint parameter is not defined on hauth_start, halt login process!" );
|
121 |
|
122 |
+
throw new Hybrid_Exception( "You cannot access this page directly." );
|
|
|
123 |
}
|
124 |
|
125 |
# define:hybrid.endpoint.php step 2.
|
129 |
if( ! $hauth ) {
|
130 |
Hybrid_Logger::error( "Endpoint: Invalid parameter on hauth_start!" );
|
131 |
|
132 |
+
throw new Hybrid_Exception( "Invalid parameter! Please return to the login page and try again." );
|
|
|
133 |
}
|
134 |
|
135 |
try {
|
139 |
}
|
140 |
catch ( Exception $e ) {
|
141 |
Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e );
|
142 |
+
Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e->getPrevious() );
|
143 |
|
144 |
$hauth->returnToCallbackUrl();
|
145 |
}
|
163 |
|
164 |
$hauth->adapter->setUserUnconnected();
|
165 |
|
166 |
+
throw new Hybrid_Exception( "Invalid parameter! Please return to the login page and try again." );
|
|
|
167 |
}
|
168 |
|
169 |
try {
|
173 |
}
|
174 |
catch( Exception $e ){
|
175 |
Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e );
|
176 |
+
Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e->getPrevious());
|
177 |
|
178 |
$hauth->adapter->setUserUnconnected();
|
179 |
}
|
191 |
|
192 |
# Init Hybrid_Auth
|
193 |
try {
|
194 |
+
if(!class_exists("Hybrid_Storage")){
|
195 |
+
require_once realpath( dirname( __FILE__ ) ) . "/Storage.php";
|
196 |
+
}
|
197 |
|
198 |
$storage = new Hybrid_Storage();
|
199 |
|
200 |
// Check if Hybrid_Auth session already exist
|
201 |
+
if ( ! $storage->config( "CONFIG" ) ) {
|
202 |
+
Hybrid_Logger::error( "Endpoint: Config storage not found when trying to init Hyrid_Auth. " );
|
203 |
+
|
204 |
+
throw new Hybrid_Exception( "You cannot access this page directly." );
|
205 |
}
|
206 |
|
207 |
Hybrid_Auth::initialize( $storage->config( "CONFIG" ) );
|
208 |
}
|
209 |
catch ( Exception $e ){
|
210 |
+
Hybrid_Logger::error( "Endpoint: Error while trying to init Hybrid_Auth: " . $e->getMessage());
|
211 |
|
212 |
+
throw new Hybrid_Exception( "Oophs. Error!" );
|
|
|
213 |
}
|
214 |
}
|
215 |
}
|
hybridauth/Hybrid/Error.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -13,7 +13,12 @@
|
|
13 |
class Hybrid_Error
|
14 |
{
|
15 |
/**
|
16 |
-
*
|
|
|
|
|
|
|
|
|
|
|
17 |
*/
|
18 |
public static function setError( $message, $code = NULL, $trace = NULL, $previous = NULL )
|
19 |
{
|
@@ -27,7 +32,7 @@ class Hybrid_Error
|
|
27 |
}
|
28 |
|
29 |
/**
|
30 |
-
*
|
31 |
*/
|
32 |
public static function clearError()
|
33 |
{
|
@@ -67,7 +72,7 @@ class Hybrid_Error
|
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
-
* return string
|
71 |
*/
|
72 |
public static function getErrorTrace()
|
73 |
{
|
@@ -75,7 +80,7 @@ class Hybrid_Error
|
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
-
* @return string
|
79 |
*/
|
80 |
public static function getErrorPrevious()
|
81 |
{
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
13 |
class Hybrid_Error
|
14 |
{
|
15 |
/**
|
16 |
+
* Store error in session
|
17 |
+
*
|
18 |
+
* @param String $message
|
19 |
+
* @param Number $code
|
20 |
+
* @param String $trace
|
21 |
+
* @param String $previous
|
22 |
*/
|
23 |
public static function setError( $message, $code = NULL, $trace = NULL, $previous = NULL )
|
24 |
{
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
+
* Clear the last error
|
36 |
*/
|
37 |
public static function clearError()
|
38 |
{
|
72 |
}
|
73 |
|
74 |
/**
|
75 |
+
* return string detailed error backtrace as string.
|
76 |
*/
|
77 |
public static function getErrorTrace()
|
78 |
{
|
80 |
}
|
81 |
|
82 |
/**
|
83 |
+
* @return string detailed error backtrace as string.
|
84 |
*/
|
85 |
public static function getErrorPrevious()
|
86 |
{
|
hybridauth/Hybrid/Exception.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Exception implementation
|
10 |
+
*
|
11 |
+
* The base Exception is extended to allow applications to handle exceptions from hybrid auth
|
12 |
+
* separately from general exceptions.
|
13 |
+
*/
|
14 |
+
class Hybrid_Exception extends Exception
|
15 |
+
{
|
16 |
+
}
|
hybridauth/Hybrid/Logger.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -10,20 +10,35 @@
|
|
10 |
*/
|
11 |
class Hybrid_Logger
|
12 |
{
|
|
|
|
|
|
|
13 |
function __construct()
|
14 |
{
|
15 |
-
//
|
16 |
-
|
17 |
-
if ( ! file_exists( Hybrid_Auth::$config["debug_file"] ) ){
|
18 |
-
throw new Exception( "'debug_mode' is set to 'true', but the file " . Hybrid_Auth::$config['debug_file'] . " in 'debug_file' does not exit.", 1 );
|
19 |
-
}
|
20 |
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
throw new Exception( "'debug_mode' is set to 'true', but the given log file path 'debug_file' is not a writable file.", 1 );
|
23 |
}
|
24 |
}
|
25 |
}
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
public static function debug( $message, $object = NULL )
|
28 |
{
|
29 |
if( Hybrid_Auth::$config["debug_mode"] ){
|
@@ -37,10 +52,14 @@ class Hybrid_Logger
|
|
37 |
);
|
38 |
}
|
39 |
}
|
40 |
-
|
|
|
|
|
|
|
|
|
41 |
public static function info( $message )
|
42 |
{
|
43 |
-
if( Hybrid_Auth::$config["debug_mode"] ){
|
44 |
$datetime = new DateTime();
|
45 |
$datetime = $datetime->format(DATE_ATOM);
|
46 |
|
@@ -51,10 +70,15 @@ class Hybrid_Logger
|
|
51 |
);
|
52 |
}
|
53 |
}
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
55 |
public static function error($message, $object = NULL)
|
56 |
{
|
57 |
-
if( Hybrid_Auth::$config["debug_mode"] ){
|
58 |
$datetime = new DateTime();
|
59 |
$datetime = $datetime->format(DATE_ATOM);
|
60 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
10 |
*/
|
11 |
class Hybrid_Logger
|
12 |
{
|
13 |
+
/**
|
14 |
+
* Constructor
|
15 |
+
*/
|
16 |
function __construct()
|
17 |
{
|
18 |
+
// Hybrid_Auth::$config["debug_mode"] = true;
|
19 |
+
// Hybrid_Auth::$config["debug_file"] = 'C:/xampp/htdocs/hybridauth/hawp4/wp-content/plugins/wordpress-social-login/log/log.log';
|
|
|
|
|
|
|
20 |
|
21 |
+
// if debug mode is set to true, then check for the writable log file
|
22 |
+
if ( Hybrid_Auth::$config["debug_mode"] ){
|
23 |
+
if ( ! isset(Hybrid_Auth::$config["debug_file"]) ) {
|
24 |
+
throw new Exception( "'debug_mode' is set to 'true' but no log file path 'debug_file' is set.", 1 );
|
25 |
+
}
|
26 |
+
elseif ( ! file_exists( Hybrid_Auth::$config["debug_file"] ) && ! is_writable( Hybrid_Auth::$config["debug_file"]) ){
|
27 |
+
if ( ! touch( Hybrid_Auth::$config["debug_file"] ) ){
|
28 |
+
throw new Exception( "'debug_mode' is set to 'true', but the file " . Hybrid_Auth::$config['debug_file'] . " in 'debug_file' can not be created.", 1 );
|
29 |
+
}
|
30 |
+
}
|
31 |
+
elseif ( ! is_writable( Hybrid_Auth::$config["debug_file"] ) ){
|
32 |
throw new Exception( "'debug_mode' is set to 'true', but the given log file path 'debug_file' is not a writable file.", 1 );
|
33 |
}
|
34 |
}
|
35 |
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Debug
|
39 |
+
* @param String $message
|
40 |
+
* @param Object $object
|
41 |
+
*/
|
42 |
public static function debug( $message, $object = NULL )
|
43 |
{
|
44 |
if( Hybrid_Auth::$config["debug_mode"] ){
|
52 |
);
|
53 |
}
|
54 |
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Info
|
58 |
+
* @param String $message
|
59 |
+
*/
|
60 |
public static function info( $message )
|
61 |
{
|
62 |
+
if( in_array(Hybrid_Auth::$config["debug_mode"], array(true, 'info'), true) ){
|
63 |
$datetime = new DateTime();
|
64 |
$datetime = $datetime->format(DATE_ATOM);
|
65 |
|
70 |
);
|
71 |
}
|
72 |
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Error
|
76 |
+
* @param String $message Error message
|
77 |
+
* @param Object $object
|
78 |
+
*/
|
79 |
public static function error($message, $object = NULL)
|
80 |
{
|
81 |
+
if(isset(Hybrid_Auth::$config["debug_mode"]) && in_array(Hybrid_Auth::$config["debug_mode"], array(true, 'info', 'error'), true) ){
|
82 |
$datetime = new DateTime();
|
83 |
$datetime = $datetime->format(DATE_ATOM);
|
84 |
|
hybridauth/Hybrid/Provider_Adapter.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* Hybrid_Provider_Adapter is the basic class which Hybrid_Auth will use
|
10 |
* to connect users to a given provider.
|
11 |
*
|
12 |
-
* Basically
|
13 |
* application to the provider api.
|
14 |
*
|
15 |
* Hybrid_Auth will automatically load Hybrid_Provider_Adapter and create
|
@@ -17,19 +17,34 @@
|
|
17 |
*/
|
18 |
class Hybrid_Provider_Adapter
|
19 |
{
|
20 |
-
|
|
|
|
|
|
|
21 |
public $id = NULL ;
|
22 |
|
23 |
-
|
|
|
|
|
|
|
24 |
public $config = NULL ;
|
25 |
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
28 |
|
29 |
-
|
|
|
|
|
|
|
30 |
public $wrapper = NULL ;
|
31 |
|
32 |
-
|
|
|
|
|
|
|
33 |
public $adapter = NULL ;
|
34 |
|
35 |
// --------------------------------------------------------------------
|
@@ -40,7 +55,7 @@ class Hybrid_Provider_Adapter
|
|
40 |
* @param string $id The id or name of the IDp
|
41 |
* @param array $params (optional) required parameters by the adapter
|
42 |
*/
|
43 |
-
function factory( $id, $params =
|
44 |
{
|
45 |
Hybrid_Logger::info( "Enter Hybrid_Provider_Adapter::factory( $id )" );
|
46 |
|
@@ -67,7 +82,9 @@ class Hybrid_Provider_Adapter
|
|
67 |
|
68 |
# include the adapter wrapper
|
69 |
if( isset( $this->config["wrapper"] ) && is_array( $this->config["wrapper"] ) ){
|
70 |
-
|
|
|
|
|
71 |
|
72 |
if( ! class_exists( $this->config["wrapper"]["class"] ) ){
|
73 |
throw new Exception( "Unable to load the adapter class.", 3 );
|
@@ -112,7 +129,21 @@ class Hybrid_Provider_Adapter
|
|
112 |
$this->logout();
|
113 |
|
114 |
# get hybridauth base url
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
# we make use of session_id() as storage hash to identify the current user
|
118 |
# using session_regenerate_id() will be a problem, but ..
|
@@ -130,9 +161,13 @@ class Hybrid_Provider_Adapter
|
|
130 |
# auth.done required the IDp ID
|
131 |
$this->params["login_done"] = $HYBRID_AUTH_URL_BASE . ( strpos( $HYBRID_AUTH_URL_BASE, '?' ) ? '&' : '?' ) . "hauth.done={$this->id}";
|
132 |
|
133 |
-
|
134 |
-
|
135 |
-
|
|
|
|
|
|
|
|
|
136 |
|
137 |
// store config to be used by the end point
|
138 |
Hybrid_Auth::storage()->config( "CONFIG", Hybrid_Auth::$config );
|
@@ -184,12 +219,16 @@ class Hybrid_Provider_Adapter
|
|
184 |
throw new Exception( "Call to undefined function Hybrid_Providers_{$this->id}::$name()." );
|
185 |
}
|
186 |
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
|
|
|
|
|
|
|
|
193 |
}
|
194 |
|
195 |
// --------------------------------------------------------------------
|
@@ -242,7 +281,7 @@ class Hybrid_Provider_Adapter
|
|
242 |
// get the stored callback url
|
243 |
$callback_url = Hybrid_Auth::storage()->get( "hauth_session.{$this->id}.hauth_return_to" );
|
244 |
|
245 |
-
// remove some
|
246 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_return_to" );
|
247 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_endpoint" );
|
248 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.id_provider_params" );
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* Hybrid_Provider_Adapter is the basic class which Hybrid_Auth will use
|
10 |
* to connect users to a given provider.
|
11 |
*
|
12 |
+
* Basically Hybrid_Provider_Adapter will create a bridge from your php
|
13 |
* application to the provider api.
|
14 |
*
|
15 |
* Hybrid_Auth will automatically load Hybrid_Provider_Adapter and create
|
17 |
*/
|
18 |
class Hybrid_Provider_Adapter
|
19 |
{
|
20 |
+
/**
|
21 |
+
* Provider ID (or unique name)
|
22 |
+
* @var Numeric/String
|
23 |
+
*/
|
24 |
public $id = NULL ;
|
25 |
|
26 |
+
/**
|
27 |
+
* Provider adapter specific config
|
28 |
+
* @var Array
|
29 |
+
*/
|
30 |
public $config = NULL ;
|
31 |
|
32 |
+
/**
|
33 |
+
* Provider adapter extra parameters
|
34 |
+
* @var array
|
35 |
+
*/
|
36 |
+
public $params = array() ;
|
37 |
|
38 |
+
/**
|
39 |
+
* Provider adapter wrapper path
|
40 |
+
* @var String
|
41 |
+
*/
|
42 |
public $wrapper = NULL ;
|
43 |
|
44 |
+
/**
|
45 |
+
* Provider adapter instance
|
46 |
+
* @var object
|
47 |
+
*/
|
48 |
public $adapter = NULL ;
|
49 |
|
50 |
// --------------------------------------------------------------------
|
55 |
* @param string $id The id or name of the IDp
|
56 |
* @param array $params (optional) required parameters by the adapter
|
57 |
*/
|
58 |
+
function factory( $id, $params = array() )
|
59 |
{
|
60 |
Hybrid_Logger::info( "Enter Hybrid_Provider_Adapter::factory( $id )" );
|
61 |
|
82 |
|
83 |
# include the adapter wrapper
|
84 |
if( isset( $this->config["wrapper"] ) && is_array( $this->config["wrapper"] ) ){
|
85 |
+
if (isset( $this->config["wrapper"]["path"] )) {
|
86 |
+
require_once $this->config["wrapper"]["path"];
|
87 |
+
}
|
88 |
|
89 |
if( ! class_exists( $this->config["wrapper"]["class"] ) ){
|
90 |
throw new Exception( "Unable to load the adapter class.", 3 );
|
129 |
$this->logout();
|
130 |
|
131 |
# get hybridauth base url
|
132 |
+
if (empty(Hybrid_Auth::$config["base_url"])) {
|
133 |
+
// the base url wasn't provide, so we must use the current
|
134 |
+
// url (which makes sense actually)
|
135 |
+
$url = empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off' ? 'http' : 'https';
|
136 |
+
$url .= '://' . $_SERVER['HTTP_HOST'];
|
137 |
+
$url .= $_SERVER['REQUEST_URI'];
|
138 |
+
$HYBRID_AUTH_URL_BASE = $url;
|
139 |
+
} else {
|
140 |
+
$HYBRID_AUTH_URL_BASE = Hybrid_Auth::$config["base_url"];
|
141 |
+
}
|
142 |
+
|
143 |
+
// make sure params is array
|
144 |
+
if( !is_array( $this->params ) ){
|
145 |
+
$this->params = array();
|
146 |
+
}
|
147 |
|
148 |
# we make use of session_id() as storage hash to identify the current user
|
149 |
# using session_regenerate_id() will be a problem, but ..
|
161 |
# auth.done required the IDp ID
|
162 |
$this->params["login_done"] = $HYBRID_AUTH_URL_BASE . ( strpos( $HYBRID_AUTH_URL_BASE, '?' ) ? '&' : '?' ) . "hauth.done={$this->id}";
|
163 |
|
164 |
+
if( isset( $this->params["hauth_return_to"] ) ){
|
165 |
+
Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.hauth_return_to", $this->params["hauth_return_to"] );
|
166 |
+
}
|
167 |
+
if( isset( $this->params["login_done"] ) ){
|
168 |
+
Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.hauth_endpoint" , $this->params["login_done"] );
|
169 |
+
}
|
170 |
+
Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.id_provider_params" , $this->params );
|
171 |
|
172 |
// store config to be used by the end point
|
173 |
Hybrid_Auth::storage()->config( "CONFIG", Hybrid_Auth::$config );
|
219 |
throw new Exception( "Call to undefined function Hybrid_Providers_{$this->id}::$name()." );
|
220 |
}
|
221 |
|
222 |
+
$counter = count( $arguments );
|
223 |
+
if( $counter == 1 ){
|
224 |
+
return $this->adapter->$name( $arguments[0] );
|
225 |
+
}
|
226 |
+
elseif( $counter == 2 ){
|
227 |
+
return $this->adapter->$name( $arguments[0], $arguments[1] );
|
228 |
+
}
|
229 |
+
else{
|
230 |
+
return $this->adapter->$name();
|
231 |
+
}
|
232 |
}
|
233 |
|
234 |
// --------------------------------------------------------------------
|
281 |
// get the stored callback url
|
282 |
$callback_url = Hybrid_Auth::storage()->get( "hauth_session.{$this->id}.hauth_return_to" );
|
283 |
|
284 |
+
// remove some unneeded stored data
|
285 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_return_to" );
|
286 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_endpoint" );
|
287 |
Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.id_provider_params" );
|
hybridauth/Hybrid/Provider_Model.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -21,27 +21,48 @@
|
|
21 |
*/
|
22 |
abstract class Hybrid_Provider_Model
|
23 |
{
|
24 |
-
|
|
|
|
|
|
|
25 |
public $providerId = NULL;
|
26 |
|
27 |
-
|
|
|
|
|
|
|
28 |
public $config = NULL;
|
29 |
|
30 |
-
|
|
|
|
|
|
|
31 |
public $params = NULL;
|
32 |
|
33 |
-
|
|
|
|
|
|
|
34 |
public $endpoint = NULL;
|
35 |
|
36 |
-
|
|
|
|
|
|
|
37 |
public $user = NULL;
|
38 |
|
39 |
-
|
|
|
|
|
|
|
40 |
public $api = NULL;
|
41 |
|
42 |
/**
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
45 |
function __construct( $providerId, $config, $params = NULL )
|
46 |
{
|
47 |
# init the IDp adapter parameters, get them from the cache if possible
|
@@ -77,7 +98,7 @@ abstract class Hybrid_Provider_Model
|
|
77 |
* IDp wrappers initializer
|
78 |
*
|
79 |
* The main job of wrappers initializer is to performs (depend on the IDp api client it self):
|
80 |
-
* - include some libs
|
81 |
* - check IDp key and secret,
|
82 |
* - set some needed parameters (stored in $this->params) by this IDp api client
|
83 |
* - create and setup an instance of the IDp api client on $this->api
|
@@ -119,7 +140,7 @@ abstract class Hybrid_Provider_Model
|
|
119 |
*/
|
120 |
function getUserProfile()
|
121 |
{
|
122 |
-
Hybrid_Logger::error( "HybridAuth do not provide users
|
123 |
|
124 |
throw new Exception( "Provider does not support this feature.", 8 );
|
125 |
}
|
@@ -131,7 +152,7 @@ abstract class Hybrid_Provider_Model
|
|
131 |
*/
|
132 |
function getUserContacts()
|
133 |
{
|
134 |
-
Hybrid_Logger::error( "HybridAuth do not provide users
|
135 |
|
136 |
throw new Exception( "Provider does not support this feature.", 8 );
|
137 |
}
|
@@ -151,7 +172,7 @@ abstract class Hybrid_Provider_Model
|
|
151 |
// --------------------------------------------------------------------
|
152 |
|
153 |
/**
|
154 |
-
*
|
155 |
*/
|
156 |
function setUserStatus( $status )
|
157 |
{
|
@@ -160,6 +181,17 @@ abstract class Hybrid_Provider_Model
|
|
160 |
throw new Exception( "Provider does not support this feature.", 8 );
|
161 |
}
|
162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
// --------------------------------------------------------------------
|
164 |
|
165 |
/**
|
@@ -222,7 +254,7 @@ abstract class Hybrid_Provider_Model
|
|
222 |
// --------------------------------------------------------------------
|
223 |
|
224 |
/**
|
225 |
-
* clear all
|
226 |
*/
|
227 |
public function clearTokens()
|
228 |
{
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
21 |
*/
|
22 |
abstract class Hybrid_Provider_Model
|
23 |
{
|
24 |
+
/**
|
25 |
+
* IDp ID (or unique name)
|
26 |
+
* @var Numeric/String
|
27 |
+
*/
|
28 |
public $providerId = NULL;
|
29 |
|
30 |
+
/**
|
31 |
+
* specific provider adapter config
|
32 |
+
* @var array
|
33 |
+
*/
|
34 |
public $config = NULL;
|
35 |
|
36 |
+
/**
|
37 |
+
* provider extra parameters
|
38 |
+
* @var array
|
39 |
+
*/
|
40 |
public $params = NULL;
|
41 |
|
42 |
+
/**
|
43 |
+
* Endpoint URL for that provider
|
44 |
+
* @var String
|
45 |
+
*/
|
46 |
public $endpoint = NULL;
|
47 |
|
48 |
+
/**
|
49 |
+
* Hybrid_User obj, represents the current loggedin user
|
50 |
+
* @var object
|
51 |
+
*/
|
52 |
public $user = NULL;
|
53 |
|
54 |
+
/**
|
55 |
+
* the provider api client (optional)
|
56 |
+
* @var String
|
57 |
+
*/
|
58 |
public $api = NULL;
|
59 |
|
60 |
/**
|
61 |
+
* Common providers adapter constructor
|
62 |
+
* @param Numeric/String $providerId
|
63 |
+
* @param Array $config
|
64 |
+
* @param Array $params
|
65 |
+
*/
|
66 |
function __construct( $providerId, $config, $params = NULL )
|
67 |
{
|
68 |
# init the IDp adapter parameters, get them from the cache if possible
|
98 |
* IDp wrappers initializer
|
99 |
*
|
100 |
* The main job of wrappers initializer is to performs (depend on the IDp api client it self):
|
101 |
+
* - include some libs needed by this provider,
|
102 |
* - check IDp key and secret,
|
103 |
* - set some needed parameters (stored in $this->params) by this IDp api client
|
104 |
* - create and setup an instance of the IDp api client on $this->api
|
140 |
*/
|
141 |
function getUserProfile()
|
142 |
{
|
143 |
+
Hybrid_Logger::error( "HybridAuth do not provide users contacts list for {$this->providerId} yet." );
|
144 |
|
145 |
throw new Exception( "Provider does not support this feature.", 8 );
|
146 |
}
|
152 |
*/
|
153 |
function getUserContacts()
|
154 |
{
|
155 |
+
Hybrid_Logger::error( "HybridAuth do not provide users contacts list for {$this->providerId} yet." );
|
156 |
|
157 |
throw new Exception( "Provider does not support this feature.", 8 );
|
158 |
}
|
172 |
// --------------------------------------------------------------------
|
173 |
|
174 |
/**
|
175 |
+
* set user status
|
176 |
*/
|
177 |
function setUserStatus( $status )
|
178 |
{
|
181 |
throw new Exception( "Provider does not support this feature.", 8 );
|
182 |
}
|
183 |
|
184 |
+
|
185 |
+
/**
|
186 |
+
* return the user status
|
187 |
+
*/
|
188 |
+
function getUserStatus( $statusid )
|
189 |
+
{
|
190 |
+
Hybrid_Logger::error( "HybridAuth do not provide user's status for {$this->providerId} yet." );
|
191 |
+
|
192 |
+
throw new Exception( "Provider does not support this feature.", 8 );
|
193 |
+
}
|
194 |
+
|
195 |
// --------------------------------------------------------------------
|
196 |
|
197 |
/**
|
254 |
// --------------------------------------------------------------------
|
255 |
|
256 |
/**
|
257 |
+
* clear all existent tokens for this provider
|
258 |
*/
|
259 |
public function clearTokens()
|
260 |
{
|
hybridauth/Hybrid/Provider_Model_OAuth1.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OAuth 1 based service provider, Hybrid_Provider_Model_OAuth1
|
10 |
* can be used to save the hassle of the authentication flow.
|
11 |
*
|
12 |
-
* Each class that inherit from Hybrid_Provider_Model_OAuth1 have to
|
13 |
* at least 2 methods:
|
14 |
* Hybrid_Providers_{provider_name}::initialize() to setup the provider api end-points urls
|
15 |
* Hybrid_Providers_{provider_name}::getUserProfile() to grab the user profile
|
@@ -19,11 +19,21 @@
|
|
19 |
*/
|
20 |
class Hybrid_Provider_Model_OAuth1 extends Hybrid_Provider_Model
|
21 |
{
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
/**
|
26 |
-
*
|
|
|
27 |
*/
|
28 |
function errorMessageByStatus( $code = null ) {
|
29 |
$http_status_codes = ARRAY(
|
@@ -98,7 +108,7 @@ class Hybrid_Provider_Model_OAuth1 extends Hybrid_Provider_Model
|
|
98 |
{
|
99 |
$tokens = $this->api->requestToken( $this->endpoint );
|
100 |
|
101 |
-
// request tokens as
|
102 |
$this->request_tokens_raw = $tokens;
|
103 |
|
104 |
// check the last HTTP status code returned
|
@@ -134,7 +144,7 @@ class Hybrid_Provider_Model_OAuth1 extends Hybrid_Provider_Model
|
|
134 |
// request an access token
|
135 |
$tokens = $this->api->accessToken( $oauth_verifier );
|
136 |
|
137 |
-
// access tokens as
|
138 |
$this->access_tokens_raw = $tokens;
|
139 |
|
140 |
// check the last HTTP status code returned
|
@@ -147,11 +157,11 @@ class Hybrid_Provider_Model_OAuth1 extends Hybrid_Provider_Model
|
|
147 |
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
148 |
}
|
149 |
|
150 |
-
// we no more need to store
|
151 |
$this->deleteToken( "request_token" );
|
152 |
$this->deleteToken( "request_token_secret" );
|
153 |
|
154 |
-
//
|
155 |
$this->token( "access_token" , $tokens['oauth_token'] );
|
156 |
$this->token( "access_token_secret" , $tokens['oauth_token_secret'] );
|
157 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OAuth 1 based service provider, Hybrid_Provider_Model_OAuth1
|
10 |
* can be used to save the hassle of the authentication flow.
|
11 |
*
|
12 |
+
* Each class that inherit from Hybrid_Provider_Model_OAuth1 have to implement
|
13 |
* at least 2 methods:
|
14 |
* Hybrid_Providers_{provider_name}::initialize() to setup the provider api end-points urls
|
15 |
* Hybrid_Providers_{provider_name}::getUserProfile() to grab the user profile
|
19 |
*/
|
20 |
class Hybrid_Provider_Model_OAuth1 extends Hybrid_Provider_Model
|
21 |
{
|
22 |
+
/**
|
23 |
+
* request_tokens as received from provider
|
24 |
+
* @var object
|
25 |
+
*/
|
26 |
+
public $request_tokens_raw = null;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* access_tokens as received from provider
|
30 |
+
* @var object
|
31 |
+
*/
|
32 |
+
public $access_tokens_raw = null;
|
33 |
|
34 |
/**
|
35 |
+
* Try to get the error message from provider api
|
36 |
+
* @param Numeric $code
|
37 |
*/
|
38 |
function errorMessageByStatus( $code = null ) {
|
39 |
$http_status_codes = ARRAY(
|
108 |
{
|
109 |
$tokens = $this->api->requestToken( $this->endpoint );
|
110 |
|
111 |
+
// request tokens as received from provider
|
112 |
$this->request_tokens_raw = $tokens;
|
113 |
|
114 |
// check the last HTTP status code returned
|
144 |
// request an access token
|
145 |
$tokens = $this->api->accessToken( $oauth_verifier );
|
146 |
|
147 |
+
// access tokens as received from provider
|
148 |
$this->access_tokens_raw = $tokens;
|
149 |
|
150 |
// check the last HTTP status code returned
|
157 |
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
158 |
}
|
159 |
|
160 |
+
// we no more need to store request tokens
|
161 |
$this->deleteToken( "request_token" );
|
162 |
$this->deleteToken( "request_token_secret" );
|
163 |
|
164 |
+
// store access_token for later user
|
165 |
$this->token( "access_token" , $tokens['oauth_token'] );
|
166 |
$this->token( "access_token_secret" , $tokens['oauth_token_secret'] );
|
167 |
|
hybridauth/Hybrid/Provider_Model_OAuth2.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OAuth 2 based service provider, Hybrid_Provider_Model_OAuth2
|
10 |
* can be used to save the hassle of the authentication flow.
|
11 |
*
|
12 |
-
* Each class that inherit from Hybrid_Provider_Model_OAuth2 have to
|
13 |
* at least 2 methods:
|
14 |
* Hybrid_Providers_{provider_name}::initialize() to setup the provider api end-points urls
|
15 |
* Hybrid_Providers_{provider_name}::getUserProfile() to grab the user profile
|
@@ -18,12 +18,16 @@
|
|
18 |
* Hybrid/thirdparty/OAuth/OAuth2Client.php
|
19 |
*/
|
20 |
class Hybrid_Provider_Model_OAuth2 extends Hybrid_Provider_Model
|
21 |
-
{
|
22 |
-
|
|
|
|
|
|
|
23 |
public $scope = "";
|
24 |
|
25 |
/**
|
26 |
-
*
|
|
|
27 |
*/
|
28 |
function errorMessageByStatus( $code = null ) {
|
29 |
$http_status_codes = ARRAY(
|
@@ -53,6 +57,10 @@ class Hybrid_Provider_Model_OAuth2 extends Hybrid_Provider_Model
|
|
53 |
*/
|
54 |
function initialize()
|
55 |
{
|
|
|
|
|
|
|
|
|
56 |
if ( ! $this->config["keys"]["id"] || ! $this->config["keys"]["secret"] ){
|
57 |
throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 );
|
58 |
}
|
@@ -107,7 +115,7 @@ class Hybrid_Provider_Model_OAuth2 extends Hybrid_Provider_Model
|
|
107 |
throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 );
|
108 |
}
|
109 |
|
110 |
-
// try to
|
111 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
112 |
|
113 |
try{
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OAuth 2 based service provider, Hybrid_Provider_Model_OAuth2
|
10 |
* can be used to save the hassle of the authentication flow.
|
11 |
*
|
12 |
+
* Each class that inherit from Hybrid_Provider_Model_OAuth2 have to implement
|
13 |
* at least 2 methods:
|
14 |
* Hybrid_Providers_{provider_name}::initialize() to setup the provider api end-points urls
|
15 |
* Hybrid_Providers_{provider_name}::getUserProfile() to grab the user profile
|
18 |
* Hybrid/thirdparty/OAuth/OAuth2Client.php
|
19 |
*/
|
20 |
class Hybrid_Provider_Model_OAuth2 extends Hybrid_Provider_Model
|
21 |
+
{
|
22 |
+
/**
|
23 |
+
* default permissions
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
public $scope = "";
|
27 |
|
28 |
/**
|
29 |
+
* Try to get the error message from provider api
|
30 |
+
* @param Numeric $code
|
31 |
*/
|
32 |
function errorMessageByStatus( $code = null ) {
|
33 |
$http_status_codes = ARRAY(
|
57 |
*/
|
58 |
function initialize()
|
59 |
{
|
60 |
+
if ( ! isset( $this->config["keys"]["id"] ) || ! isset( $this->config["keys"]["secret"] ) ){
|
61 |
+
throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 );
|
62 |
+
}
|
63 |
+
|
64 |
if ( ! $this->config["keys"]["id"] || ! $this->config["keys"]["secret"] ){
|
65 |
throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 );
|
66 |
}
|
115 |
throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 );
|
116 |
}
|
117 |
|
118 |
+
// try to authenticate user
|
119 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
120 |
|
121 |
try{
|
hybridauth/Hybrid/Provider_Model_OpenID.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OpenID based service provider, Hybrid_Provider_Model_OpenID
|
10 |
-
* can be used to save the hassle of the authentication flow.
|
11 |
-
*
|
12 |
* Each class that inherit from Hybrid_Provider_Model_OAuth2 have only to define
|
13 |
* the provider identifier : <code>public $openidIdentifier = ""; </code>
|
14 |
*
|
@@ -17,13 +17,16 @@
|
|
17 |
*/
|
18 |
class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
19 |
{
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
22 |
|
23 |
// --------------------------------------------------------------------
|
24 |
|
25 |
/**
|
26 |
-
* adapter initializer
|
27 |
*/
|
28 |
function initialize()
|
29 |
{
|
@@ -32,18 +35,26 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
32 |
}
|
33 |
|
34 |
// include LightOpenID lib
|
35 |
-
require_once Hybrid_Auth::$config["path_libraries"] . "OpenID/LightOpenID.php";
|
36 |
-
|
37 |
// An error was occurring when proxy wasn't set. Not sure where proxy was meant to be set/initialized.
|
38 |
Hybrid_Auth::$config['proxy'] = isset(Hybrid_Auth::$config['proxy'])?Hybrid_Auth::$config['proxy']:'';
|
39 |
-
|
40 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
|
43 |
// --------------------------------------------------------------------
|
44 |
|
45 |
/**
|
46 |
-
* begin login step
|
47 |
*/
|
48 |
function loginBegin()
|
49 |
{
|
@@ -53,7 +64,7 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
53 |
|
54 |
$this->api->identity = $this->openidIdentifier;
|
55 |
$this->api->returnUrl = $this->endpoint;
|
56 |
-
$this->api->required = ARRAY(
|
57 |
'namePerson/first' ,
|
58 |
'namePerson/last' ,
|
59 |
'namePerson/friendly' ,
|
@@ -67,11 +78,11 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
67 |
'birthDate/birthYear' ,
|
68 |
|
69 |
'person/gender' ,
|
70 |
-
'pref/language' ,
|
71 |
|
72 |
'contact/postalCode/home',
|
73 |
'contact/city/home' ,
|
74 |
-
'contact/country/home' ,
|
75 |
|
76 |
'media/image/default' ,
|
77 |
);
|
@@ -83,24 +94,24 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
83 |
// --------------------------------------------------------------------
|
84 |
|
85 |
/**
|
86 |
-
* finish login step
|
87 |
*/
|
88 |
function loginFinish()
|
89 |
{
|
90 |
-
# if user don't
|
91 |
if( $this->api->mode == 'cancel'){
|
92 |
throw new Exception( "Authentication failed! User has canceled authentication!", 5 );
|
93 |
}
|
94 |
|
95 |
# if something goes wrong
|
96 |
if( ! $this->api->validate() ){
|
97 |
-
throw new Exception( "Authentication failed. Invalid request
|
98 |
}
|
99 |
|
100 |
-
# fetch
|
101 |
$response = $this->api->getAttributes();
|
102 |
|
103 |
-
#
|
104 |
$this->user->profile->identifier = $this->api->identity;
|
105 |
|
106 |
$this->user->profile->firstName = (array_key_exists("namePerson/first",$response))?$response["namePerson/first"]:"";
|
@@ -108,25 +119,21 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
108 |
$this->user->profile->displayName = (array_key_exists("namePerson",$response))?$response["namePerson"]:"";
|
109 |
$this->user->profile->email = (array_key_exists("contact/email",$response))?$response["contact/email"]:"";
|
110 |
$this->user->profile->language = (array_key_exists("pref/language",$response))?$response["pref/language"]:"";
|
111 |
-
$this->user->profile->country = (array_key_exists("contact/country/home",$response))?$response["contact/country/home"]:"";
|
112 |
-
$this->user->profile->zip = (array_key_exists("contact/postalCode/home",$response))?$response["contact/postalCode/home"]:"";
|
113 |
-
$this->user->profile->gender = (array_key_exists("person/gender",$response))?$response["person/gender"]:"";
|
114 |
-
$this->user->profile->photoURL = (array_key_exists("media/image/default",$response))?$response["media/image/default"]:"";
|
115 |
-
|
116 |
-
$this->user->profile->birthDay = (array_key_exists("birthDate/birthDay",$response))?$response["birthDate/birthDay"]:"";
|
117 |
-
$this->user->profile->birthMonth = (array_key_exists("birthDate/birthMonth",$response))?$response["birthDate/birthMonth"]:"";
|
118 |
-
$this->user->profile->birthYear = (array_key_exists("birthDate/birthDate",$response))?$response["birthDate/birthDate"]:"";
|
119 |
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
|
124 |
-
if( isset( $response['namePerson/friendly'] ) && ! empty( $response['namePerson/friendly'] ) && ! $this->user->profile->displayName ) {
|
125 |
-
$this->user->profile->displayName =
|
126 |
}
|
127 |
|
128 |
if( isset( $response['birthDate'] ) && ! empty( $response['birthDate'] ) && ! $this->user->profile->birthDay ) {
|
129 |
-
list( $birthday_year, $birthday_month, $birthday_day ) =
|
130 |
|
131 |
$this->user->profile->birthDay = (int) $birthday_day;
|
132 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
@@ -143,12 +150,12 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
143 |
|
144 |
if( $this->user->profile->gender == "m" ){
|
145 |
$this->user->profile->gender = "male";
|
146 |
-
}
|
147 |
|
148 |
// set user as logged in
|
149 |
$this->setUserConnected();
|
150 |
|
151 |
-
// with openid providers we get the user profile only once, so store it
|
152 |
Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user );
|
153 |
}
|
154 |
|
@@ -165,7 +172,7 @@ class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
|
165 |
// if not found
|
166 |
if ( ! is_object( $this->user ) ){
|
167 |
throw new Exception( "User profile request failed! User is not connected to {$this->providerId} or his session has expired.", 6 );
|
168 |
-
}
|
169 |
|
170 |
return $this->user->profile;
|
171 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
* To implement an OpenID based service provider, Hybrid_Provider_Model_OpenID
|
10 |
+
* can be used to save the hassle of the authentication flow.
|
11 |
+
*
|
12 |
* Each class that inherit from Hybrid_Provider_Model_OAuth2 have only to define
|
13 |
* the provider identifier : <code>public $openidIdentifier = ""; </code>
|
14 |
*
|
17 |
*/
|
18 |
class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model
|
19 |
{
|
20 |
+
/**
|
21 |
+
* Openid provider identifier
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
public $openidIdentifier = "";
|
25 |
|
26 |
// --------------------------------------------------------------------
|
27 |
|
28 |
/**
|
29 |
+
* adapter initializer
|
30 |
*/
|
31 |
function initialize()
|
32 |
{
|
35 |
}
|
36 |
|
37 |
// include LightOpenID lib
|
38 |
+
require_once Hybrid_Auth::$config["path_libraries"] . "OpenID/LightOpenID.php";
|
39 |
+
|
40 |
// An error was occurring when proxy wasn't set. Not sure where proxy was meant to be set/initialized.
|
41 |
Hybrid_Auth::$config['proxy'] = isset(Hybrid_Auth::$config['proxy'])?Hybrid_Auth::$config['proxy']:'';
|
42 |
+
|
43 |
+
$hostPort = parse_url( Hybrid_Auth::$config["base_url"], PHP_URL_PORT);
|
44 |
+
$hostUrl = parse_url( Hybrid_Auth::$config["base_url"], PHP_URL_HOST);
|
45 |
+
|
46 |
+
// Check for port on url
|
47 |
+
if($hostPort) {
|
48 |
+
$hostUrl .= ':'.$hostPort;
|
49 |
+
}
|
50 |
+
|
51 |
+
$this->api = new LightOpenID( $hostUrl, Hybrid_Auth::$config["proxy"] );
|
52 |
}
|
53 |
|
54 |
// --------------------------------------------------------------------
|
55 |
|
56 |
/**
|
57 |
+
* begin login step
|
58 |
*/
|
59 |
function loginBegin()
|
60 |
{
|
64 |
|
65 |
$this->api->identity = $this->openidIdentifier;
|
66 |
$this->api->returnUrl = $this->endpoint;
|
67 |
+
$this->api->required = ARRAY(
|
68 |
'namePerson/first' ,
|
69 |
'namePerson/last' ,
|
70 |
'namePerson/friendly' ,
|
78 |
'birthDate/birthYear' ,
|
79 |
|
80 |
'person/gender' ,
|
81 |
+
'pref/language' ,
|
82 |
|
83 |
'contact/postalCode/home',
|
84 |
'contact/city/home' ,
|
85 |
+
'contact/country/home' ,
|
86 |
|
87 |
'media/image/default' ,
|
88 |
);
|
94 |
// --------------------------------------------------------------------
|
95 |
|
96 |
/**
|
97 |
+
* finish login step
|
98 |
*/
|
99 |
function loginFinish()
|
100 |
{
|
101 |
+
# if user don't grant access of their data to your site, halt with an Exception
|
102 |
if( $this->api->mode == 'cancel'){
|
103 |
throw new Exception( "Authentication failed! User has canceled authentication!", 5 );
|
104 |
}
|
105 |
|
106 |
# if something goes wrong
|
107 |
if( ! $this->api->validate() ){
|
108 |
+
throw new Exception( "Authentication failed. Invalid request received!", 5 );
|
109 |
}
|
110 |
|
111 |
+
# fetch received user data
|
112 |
$response = $this->api->getAttributes();
|
113 |
|
114 |
+
# store the user profile
|
115 |
$this->user->profile->identifier = $this->api->identity;
|
116 |
|
117 |
$this->user->profile->firstName = (array_key_exists("namePerson/first",$response))?$response["namePerson/first"]:"";
|
119 |
$this->user->profile->displayName = (array_key_exists("namePerson",$response))?$response["namePerson"]:"";
|
120 |
$this->user->profile->email = (array_key_exists("contact/email",$response))?$response["contact/email"]:"";
|
121 |
$this->user->profile->language = (array_key_exists("pref/language",$response))?$response["pref/language"]:"";
|
122 |
+
$this->user->profile->country = (array_key_exists("contact/country/home",$response))?$response["contact/country/home"]:"";
|
123 |
+
$this->user->profile->zip = (array_key_exists("contact/postalCode/home",$response))?$response["contact/postalCode/home"]:"";
|
124 |
+
$this->user->profile->gender = (array_key_exists("person/gender",$response))?$response["person/gender"]:"";
|
125 |
+
$this->user->profile->photoURL = (array_key_exists("media/image/default",$response))?$response["media/image/default"]:"";
|
|
|
|
|
|
|
|
|
126 |
|
127 |
+
$this->user->profile->birthDay = (array_key_exists("birthDate/birthDay",$response))?$response["birthDate/birthDay"]:"";
|
128 |
+
$this->user->profile->birthMonth = (array_key_exists("birthDate/birthMonth",$response))?$response["birthDate/birthMonth"]:"";
|
129 |
+
$this->user->profile->birthYear = (array_key_exists("birthDate/birthDate",$response))?$response["birthDate/birthDate"]:"";
|
130 |
|
131 |
+
if( isset( $response['namePerson/friendly'] ) && ! empty( $response['namePerson/friendly'] ) && ! $this->user->profile->displayName ) {
|
132 |
+
$this->user->profile->displayName = $response["namePerson/friendly"];
|
133 |
}
|
134 |
|
135 |
if( isset( $response['birthDate'] ) && ! empty( $response['birthDate'] ) && ! $this->user->profile->birthDay ) {
|
136 |
+
list( $birthday_year, $birthday_month, $birthday_day ) = $response['birthDate'];
|
137 |
|
138 |
$this->user->profile->birthDay = (int) $birthday_day;
|
139 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
150 |
|
151 |
if( $this->user->profile->gender == "m" ){
|
152 |
$this->user->profile->gender = "male";
|
153 |
+
}
|
154 |
|
155 |
// set user as logged in
|
156 |
$this->setUserConnected();
|
157 |
|
158 |
+
// with openid providers we get the user profile only once, so store it
|
159 |
Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user );
|
160 |
}
|
161 |
|
172 |
// if not found
|
173 |
if ( ! is_object( $this->user ) ){
|
174 |
throw new Exception( "User profile request failed! User is not connected to {$this->providerId} or his session has expired.", 6 );
|
175 |
+
}
|
176 |
|
177 |
return $this->user->profile;
|
178 |
}
|
hybridauth/Hybrid/Providers/Disqus.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014 HybridAuth authors | hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_Disqus
|
10 |
+
*/
|
11 |
+
class Hybrid_Providers_Disqus extends Hybrid_Provider_Model_OAuth2
|
12 |
+
{
|
13 |
+
// default permissions
|
14 |
+
// (read,email) => public info and email
|
15 |
+
public $scope = "read,email";
|
16 |
+
|
17 |
+
/**
|
18 |
+
* IDp wrappers initializer
|
19 |
+
*/
|
20 |
+
function initialize()
|
21 |
+
{
|
22 |
+
parent::initialize();
|
23 |
+
|
24 |
+
// Provider api end-points
|
25 |
+
$this->api->api_base_url = "https://disqus.com/api/3.0/";
|
26 |
+
$this->api->authorize_url = "https://disqus.com/api/oauth/2.0/authorize";
|
27 |
+
$this->api->token_url = "https://disqus.com/api/oauth/2.0/access_token/";
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* load the user profile from the IDp api client
|
33 |
+
*/
|
34 |
+
function getUserProfile()
|
35 |
+
{
|
36 |
+
$data = $this->api->get( "users/details" , array('api_key' => $this->api->client_id, 'api_secret' => $this->api->client_secret));
|
37 |
+
|
38 |
+
if ( ! isset( $data->code ) ){
|
39 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
40 |
+
} else if ( $data->code != 0 ){
|
41 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned error code".$data->code.".", 6 );
|
42 |
+
}
|
43 |
+
|
44 |
+
$this->user->profile->identifier = @ $data->response->id;
|
45 |
+
$this->user->profile->displayName = @ $data->response->name;
|
46 |
+
$this->user->profile->description = @ $data->response->bio;
|
47 |
+
$this->user->profile->photoURL = @ $data->response->avatar->permalink;
|
48 |
+
$this->user->profile->profileURL = @ $data->response->profileUrl;
|
49 |
+
$this->user->profile->email = @ $data->response->email;
|
50 |
+
$this->user->profile->region = @ $data->response->location;
|
51 |
+
$this->user->profile->description = @ $data->response->about;
|
52 |
+
|
53 |
+
if( ! $this->user->profile->displayName ){
|
54 |
+
$this->user->profile->displayName = @ $data->response->username;
|
55 |
+
}
|
56 |
+
|
57 |
+
return $this->user->profile;
|
58 |
+
}
|
59 |
+
}
|
hybridauth/Hybrid/Providers/Facebook.php
CHANGED
@@ -14,8 +14,8 @@
|
|
14 |
*/
|
15 |
class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
16 |
{
|
17 |
-
// default permissions, and
|
18 |
-
public $scope = "email, user_about_me, user_birthday, user_hometown, user_website, read_stream,
|
19 |
|
20 |
/**
|
21 |
* IDp wrappers initializer
|
@@ -30,10 +30,13 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
30 |
require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/base_facebook.php";
|
31 |
require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/facebook.php";
|
32 |
}
|
|
|
|
|
|
|
|
|
33 |
|
34 |
-
|
35 |
-
|
36 |
-
$this->api = new Facebook( ARRAY( 'appId' => $this->config["keys"]["id"], 'secret' => $this->config["keys"]["secret"] ) );
|
37 |
|
38 |
if ( $this->token("access_token") ) {
|
39 |
$this->api->setAccessToken( $this->token("access_token") );
|
@@ -59,14 +62,29 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
59 |
function loginBegin()
|
60 |
{
|
61 |
$parameters = array("scope" => $this->scope, "redirect_uri" => $this->endpoint, "display" => "page");
|
62 |
-
$optionals = array("scope", "redirect_uri", "display");
|
63 |
|
64 |
foreach ($optionals as $parameter){
|
65 |
if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){
|
66 |
$parameters[$parameter] = $this->config[$parameter];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
}
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
// get the login url
|
71 |
$url = $this->api->getLoginUrl( $parameters );
|
72 |
|
@@ -84,6 +102,35 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
84 |
throw new Exception( "Authentication failed! The user denied your request.", 5 );
|
85 |
}
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
// try to get the UID of the connected user from fb, should be > 0
|
88 |
if ( ! $this->api->getUser() ){
|
89 |
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid user id.", 5 );
|
@@ -119,25 +166,36 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
119 |
throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 );
|
120 |
}
|
121 |
|
122 |
-
// if the provider identifier is not
|
123 |
if ( ! isset( $data["id"] ) ){
|
124 |
throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 );
|
125 |
}
|
126 |
|
127 |
# store the user profile.
|
128 |
$this->user->profile->identifier = (array_key_exists('id',$data))?$data['id']:"";
|
|
|
129 |
$this->user->profile->displayName = (array_key_exists('name',$data))?$data['name']:"";
|
130 |
$this->user->profile->firstName = (array_key_exists('first_name',$data))?$data['first_name']:"";
|
131 |
$this->user->profile->lastName = (array_key_exists('last_name',$data))?$data['last_name']:"";
|
132 |
$this->user->profile->photoURL = "https://graph.facebook.com/" . $this->user->profile->identifier . "/picture?width=150&height=150";
|
|
|
133 |
$this->user->profile->profileURL = (array_key_exists('link',$data))?$data['link']:"";
|
134 |
$this->user->profile->webSiteURL = (array_key_exists('website',$data))?$data['website']:"";
|
135 |
$this->user->profile->gender = (array_key_exists('gender',$data))?$data['gender']:"";
|
136 |
-
|
|
|
137 |
$this->user->profile->email = (array_key_exists('email',$data))?$data['email']:"";
|
138 |
$this->user->profile->emailVerified = (array_key_exists('email',$data))?$data['email']:"";
|
139 |
$this->user->profile->region = (array_key_exists("hometown",$data)&&array_key_exists("name",$data['hometown']))?$data['hometown']["name"]:"";
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
if( array_key_exists('birthday',$data) ) {
|
142 |
list($birthday_month, $birthday_day, $birthday_year) = explode( "/", $data['birthday'] );
|
143 |
|
@@ -149,30 +207,67 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
149 |
return $this->user->profile;
|
150 |
}
|
151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
/**
|
153 |
* load the user contacts
|
154 |
*/
|
155 |
function getUserContacts()
|
156 |
{
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
}
|
|
|
167 |
|
168 |
$contacts = ARRAY();
|
169 |
|
170 |
-
foreach( $
|
171 |
$uc = new Hybrid_User_Contact();
|
172 |
|
173 |
$uc->identifier = (array_key_exists("id",$item))?$item["id"]:"";
|
174 |
$uc->displayName = (array_key_exists("name",$item))?$item["name"]:"";
|
175 |
-
$uc->profileURL = "https://www.facebook.com/profile.php?id=" . $uc->identifier;
|
176 |
$uc->photoURL = "https://graph.facebook.com/" . $uc->identifier . "/picture?width=150&height=150";
|
177 |
|
178 |
$contacts[] = $uc;
|
@@ -181,27 +276,96 @@ class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
|
181 |
return $contacts;
|
182 |
}
|
183 |
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
-
if( is_array( $status ) ){
|
192 |
-
$parameters = $status;
|
193 |
-
}
|
194 |
-
else{
|
195 |
-
$parameters["message"] = $status;
|
196 |
-
}
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
|
|
|
|
|
|
|
|
|
|
201 |
catch( FacebookApiException $e ){
|
202 |
-
throw new Exception( "
|
203 |
}
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
|
206 |
/**
|
207 |
* load the user latest activity
|
14 |
*/
|
15 |
class Hybrid_Providers_Facebook extends Hybrid_Provider_Model
|
16 |
{
|
17 |
+
// default permissions, and a lot of them. You can change them from the configuration by setting the scope to what you want/need
|
18 |
+
public $scope = "email, user_about_me, user_birthday, user_hometown, user_website, read_stream, publish_actions, read_friendlists";
|
19 |
|
20 |
/**
|
21 |
* IDp wrappers initializer
|
30 |
require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/base_facebook.php";
|
31 |
require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/facebook.php";
|
32 |
}
|
33 |
+
|
34 |
+
if ( isset ( Hybrid_Auth::$config["proxy"] ) ) {
|
35 |
+
BaseFacebook::$CURL_OPTS[CURLOPT_PROXY] = Hybrid_Auth::$config["proxy"];
|
36 |
+
}
|
37 |
|
38 |
+
$trustForwarded = isset( $this->config['trustForwarded'] ) ? (bool) $this->config['trustForwarded'] : false;
|
39 |
+
$this->api = new Facebook( ARRAY( 'appId' => $this->config["keys"]["id"], 'secret' => $this->config["keys"]["secret"], 'trustForwarded' => $trustForwarded ) );
|
|
|
40 |
|
41 |
if ( $this->token("access_token") ) {
|
42 |
$this->api->setAccessToken( $this->token("access_token") );
|
62 |
function loginBegin()
|
63 |
{
|
64 |
$parameters = array("scope" => $this->scope, "redirect_uri" => $this->endpoint, "display" => "page");
|
65 |
+
$optionals = array("scope", "redirect_uri", "display", "auth_type");
|
66 |
|
67 |
foreach ($optionals as $parameter){
|
68 |
if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){
|
69 |
$parameters[$parameter] = $this->config[$parameter];
|
70 |
+
|
71 |
+
//If the auth_type parameter is used, we need to generate a nonce and include it as a parameter
|
72 |
+
if($parameter == "auth_type"){
|
73 |
+
$nonce = md5(uniqid(mt_rand(), true));
|
74 |
+
$parameters['auth_nonce'] = $nonce;
|
75 |
+
|
76 |
+
Hybrid_Auth::storage()->set('fb_auth_nonce', $nonce);
|
77 |
+
}
|
78 |
}
|
79 |
}
|
80 |
|
81 |
+
if( isset( $this->config[ 'force' ] ) && $this->config[ 'force' ] === true ){
|
82 |
+
$parameters[ 'auth_type' ] = 'reauthenticate';
|
83 |
+
$parameters[ 'auth_nonce' ] = md5( uniqid( mt_rand(), true ) );
|
84 |
+
|
85 |
+
Hybrid_Auth::storage()->set( 'fb_auth_nonce', $parameters[ 'auth_nonce' ] );
|
86 |
+
}
|
87 |
+
|
88 |
// get the login url
|
89 |
$url = $this->api->getLoginUrl( $parameters );
|
90 |
|
102 |
throw new Exception( "Authentication failed! The user denied your request.", 5 );
|
103 |
}
|
104 |
|
105 |
+
// in case we are using iOS/Facebook reverse authentication
|
106 |
+
if(isset($_REQUEST['access_token'])){
|
107 |
+
$this->token("access_token", $_REQUEST['access_token'] );
|
108 |
+
$this->api->setAccessToken( $this->token("access_token") );
|
109 |
+
$this->api->setExtendedAccessToken();
|
110 |
+
$access_token = $this->api->getAccessToken();
|
111 |
+
|
112 |
+
if( $access_token ){
|
113 |
+
$this->token("access_token", $access_token );
|
114 |
+
$this->api->setAccessToken( $access_token );
|
115 |
+
}
|
116 |
+
|
117 |
+
$this->api->setAccessToken( $this->token("access_token") );
|
118 |
+
}
|
119 |
+
|
120 |
+
|
121 |
+
// if auth_type is used, then an auth_nonce is passed back, and we need to check it.
|
122 |
+
if(isset($_REQUEST['auth_nonce'])){
|
123 |
+
|
124 |
+
$nonce = Hybrid_Auth::storage()->get('fb_auth_nonce');
|
125 |
+
|
126 |
+
//Delete the nonce
|
127 |
+
Hybrid_Auth::storage()->delete('fb_auth_nonce');
|
128 |
+
|
129 |
+
if($_REQUEST['auth_nonce'] != $nonce){
|
130 |
+
throw new Exception( "Authentication failed! Invalid nonce used for reauthentication.", 5 );
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
// try to get the UID of the connected user from fb, should be > 0
|
135 |
if ( ! $this->api->getUser() ){
|
136 |
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid user id.", 5 );
|
166 |
throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 );
|
167 |
}
|
168 |
|
169 |
+
// if the provider identifier is not received, we assume the auth has failed
|
170 |
if ( ! isset( $data["id"] ) ){
|
171 |
throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 );
|
172 |
}
|
173 |
|
174 |
# store the user profile.
|
175 |
$this->user->profile->identifier = (array_key_exists('id',$data))?$data['id']:"";
|
176 |
+
$this->user->profile->username = (array_key_exists('username',$data))?$data['username']:"";
|
177 |
$this->user->profile->displayName = (array_key_exists('name',$data))?$data['name']:"";
|
178 |
$this->user->profile->firstName = (array_key_exists('first_name',$data))?$data['first_name']:"";
|
179 |
$this->user->profile->lastName = (array_key_exists('last_name',$data))?$data['last_name']:"";
|
180 |
$this->user->profile->photoURL = "https://graph.facebook.com/" . $this->user->profile->identifier . "/picture?width=150&height=150";
|
181 |
+
$this->user->profile->coverInfoURL = "https://graph.facebook.com/" . $this->user->profile->identifier . "?fields=cover";
|
182 |
$this->user->profile->profileURL = (array_key_exists('link',$data))?$data['link']:"";
|
183 |
$this->user->profile->webSiteURL = (array_key_exists('website',$data))?$data['website']:"";
|
184 |
$this->user->profile->gender = (array_key_exists('gender',$data))?$data['gender']:"";
|
185 |
+
$this->user->profile->language = (array_key_exists('locale',$data))?$data['locale']:"";
|
186 |
+
$this->user->profile->description = (array_key_exists('about',$data))?$data['about']:"";
|
187 |
$this->user->profile->email = (array_key_exists('email',$data))?$data['email']:"";
|
188 |
$this->user->profile->emailVerified = (array_key_exists('email',$data))?$data['email']:"";
|
189 |
$this->user->profile->region = (array_key_exists("hometown",$data)&&array_key_exists("name",$data['hometown']))?$data['hometown']["name"]:"";
|
190 |
+
|
191 |
+
if(!empty($this->user->profile->region )){
|
192 |
+
$regionArr = explode(',',$this->user->profile->region );
|
193 |
+
if(count($regionArr) > 1){
|
194 |
+
$this->user->profile->city = trim($regionArr[0]);
|
195 |
+
$this->user->profile->country = trim($regionArr[1]);
|
196 |
+
}
|
197 |
+
}
|
198 |
+
|
199 |
if( array_key_exists('birthday',$data) ) {
|
200 |
list($birthday_month, $birthday_day, $birthday_year) = explode( "/", $data['birthday'] );
|
201 |
|
207 |
return $this->user->profile;
|
208 |
}
|
209 |
|
210 |
+
/**
|
211 |
+
* Attempt to retrieve the url to the cover image given the coverInfoURL
|
212 |
+
*
|
213 |
+
* @param string $coverInfoURL coverInfoURL variable
|
214 |
+
* @retval string url to the cover image OR blank string
|
215 |
+
*/
|
216 |
+
function getCoverURL($coverInfoURL)
|
217 |
+
{
|
218 |
+
try {
|
219 |
+
$headers = get_headers($coverInfoURL);
|
220 |
+
if(substr($headers[0], 9, 3) != "404") {
|
221 |
+
$coverOBJ = json_decode(file_get_contents($coverInfoURL));
|
222 |
+
if(array_key_exists('cover', $coverOBJ)) {
|
223 |
+
return $coverOBJ->cover->source;
|
224 |
+
}
|
225 |
+
}
|
226 |
+
} catch (Exception $e) { }
|
227 |
+
|
228 |
+
return "";
|
229 |
+
}
|
230 |
+
|
231 |
/**
|
232 |
* load the user contacts
|
233 |
*/
|
234 |
function getUserContacts()
|
235 |
{
|
236 |
+
$apiCall = '?fields=link,name';
|
237 |
+
$returnedContacts = array();
|
238 |
+
$pagedList = false;
|
239 |
+
|
240 |
+
do {
|
241 |
+
try{
|
242 |
+
$response = $this->api->api('/me/friends' . $apiCall);
|
243 |
+
}
|
244 |
+
catch( FacebookApiException $e ){
|
245 |
+
throw new Exception( 'User contacts request failed! {$this->providerId} returned an error: $e' );
|
246 |
+
}
|
247 |
+
|
248 |
+
// Prepare the next call if paging links have been returned
|
249 |
+
if (array_key_exists('paging', $response) && array_key_exists('next', $response['paging'])) {
|
250 |
+
$pagedList = true;
|
251 |
+
$next_page = explode('friends', $response['paging']['next']);
|
252 |
+
$apiCall = $next_page[1];
|
253 |
+
}
|
254 |
+
else{
|
255 |
+
$pagedList = false;
|
256 |
+
}
|
257 |
+
|
258 |
+
// Add the new page contacts
|
259 |
+
$returnedContacts = array_merge($returnedContacts, $response['data']);
|
260 |
}
|
261 |
+
while ($pagedList == true);
|
262 |
|
263 |
$contacts = ARRAY();
|
264 |
|
265 |
+
foreach( $returnedContacts as $item ){
|
266 |
$uc = new Hybrid_User_Contact();
|
267 |
|
268 |
$uc->identifier = (array_key_exists("id",$item))?$item["id"]:"";
|
269 |
$uc->displayName = (array_key_exists("name",$item))?$item["name"]:"";
|
270 |
+
$uc->profileURL = (array_key_exists("link",$item))?$item["link"]:"https://www.facebook.com/profile.php?id=" . $uc->identifier;
|
271 |
$uc->photoURL = "https://graph.facebook.com/" . $uc->identifier . "/picture?width=150&height=150";
|
272 |
|
273 |
$contacts[] = $uc;
|
276 |
return $contacts;
|
277 |
}
|
278 |
|
279 |
+
/**
|
280 |
+
* update user status
|
281 |
+
*
|
282 |
+
* @param string $pageid (optional) User page id
|
283 |
+
*/
|
284 |
+
function setUserStatus( $status, $pageid = null )
|
285 |
+
{
|
286 |
+
if( !is_array( $status ) ){
|
287 |
+
$status = array( 'message' => $status );
|
288 |
+
}
|
289 |
+
|
290 |
+
if( is_null( $pageid ) ){
|
291 |
+
$pageid = 'me';
|
292 |
+
|
293 |
+
// if post on page, get access_token page
|
294 |
+
}else{
|
295 |
+
$access_token = null;
|
296 |
+
foreach( $this->getUserPages( true ) as $p ){
|
297 |
+
if( isset( $p[ 'id' ] ) && intval( $p['id'] ) == intval( $pageid ) ){
|
298 |
+
$access_token = $p[ 'access_token' ];
|
299 |
+
break;
|
300 |
+
}
|
301 |
+
}
|
302 |
+
|
303 |
+
if( is_null( $access_token ) ){
|
304 |
+
throw new Exception( "Update user page failed, page not found or not writable!" );
|
305 |
+
}
|
306 |
+
|
307 |
+
$status[ 'access_token' ] = $access_token;
|
308 |
+
}
|
309 |
+
|
310 |
+
try{
|
311 |
+
$response = $this->api->api( '/' . $pageid . '/feed', 'post', $status );
|
312 |
+
}
|
313 |
+
catch( FacebookApiException $e ){
|
314 |
+
throw new Exception( "Update user status failed! {$this->providerId} returned an error: $e" );
|
315 |
+
}
|
316 |
+
|
317 |
+
return $response;
|
318 |
+
}
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
|
321 |
+
/**
|
322 |
+
* get user status
|
323 |
+
*/
|
324 |
+
function getUserStatus( $postid )
|
325 |
+
{
|
326 |
+
try{
|
327 |
+
$postinfo = $this->api->api( "/" . $postid );
|
328 |
+
}
|
329 |
catch( FacebookApiException $e ){
|
330 |
+
throw new Exception( "Cannot retrieve user status! {$this->providerId} returned an error: $e" );
|
331 |
}
|
332 |
+
|
333 |
+
return $postinfo;
|
334 |
+
}
|
335 |
+
|
336 |
+
|
337 |
+
/**
|
338 |
+
* get user pages
|
339 |
+
*/
|
340 |
+
function getUserPages( $writableonly = false )
|
341 |
+
{
|
342 |
+
if( ( isset( $this->config[ 'scope' ] ) && strpos( $this->config[ 'scope' ], 'manage_pages' ) === false ) || ( !isset( $this->config[ 'scope' ] ) && strpos( $this->scope, 'manage_pages' ) === false ) )
|
343 |
+
throw new Exception( "User status requires manage_page permission!" );
|
344 |
+
|
345 |
+
try{
|
346 |
+
$pages = $this->api->api( "/me/accounts", 'get' );
|
347 |
+
}
|
348 |
+
catch( FacebookApiException $e ){
|
349 |
+
throw new Exception( "Cannot retrieve user pages! {$this->providerId} returned an error: $e" );
|
350 |
+
}
|
351 |
+
|
352 |
+
if( !isset( $pages[ 'data' ] ) ){
|
353 |
+
return array();
|
354 |
+
}
|
355 |
+
|
356 |
+
if( !$writableonly ){
|
357 |
+
return $pages[ 'data' ];
|
358 |
+
}
|
359 |
+
|
360 |
+
$wrpages = array();
|
361 |
+
foreach( $pages[ 'data' ] as $p ){
|
362 |
+
if( isset( $p[ 'perms' ] ) && in_array( 'CREATE_CONTENT', $p[ 'perms' ] ) ){
|
363 |
+
$wrpages[] = $p;
|
364 |
+
}
|
365 |
+
}
|
366 |
+
|
367 |
+
return $wrpages;
|
368 |
+
}
|
369 |
|
370 |
/**
|
371 |
* load the user latest activity
|
hybridauth/Hybrid/Providers/Foursquare.php
CHANGED
@@ -32,7 +32,7 @@ class Hybrid_Providers_Foursquare extends Hybrid_Provider_Model_OAuth2
|
|
32 |
*/
|
33 |
function getUserProfile()
|
34 |
{
|
35 |
-
$data = $this->api->api( "users/self" );
|
36 |
|
37 |
if ( ! isset( $data->response->user->id ) ){
|
38 |
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
32 |
*/
|
33 |
function getUserProfile()
|
34 |
{
|
35 |
+
$data = $this->api->api( "users/self", "GET", array( "v" => "20120610" ) );
|
36 |
|
37 |
if ( ! isset( $data->response->user->id ) ){
|
38 |
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
hybridauth/Hybrid/Providers/GitHub.php
CHANGED
@@ -35,7 +35,7 @@ class Hybrid_Providers_GitHub extends Hybrid_Provider_Model_OAuth2
|
|
35 |
$data = $this->api->api( "user" );
|
36 |
|
37 |
if ( ! isset( $data->id ) ){
|
38 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
39 |
}
|
40 |
|
41 |
$this->user->profile->identifier = @ $data->id;
|
@@ -51,6 +51,22 @@ class Hybrid_Providers_GitHub extends Hybrid_Provider_Model_OAuth2
|
|
51 |
$this->user->profile->displayName = @ $data->login;
|
52 |
}
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
return $this->user->profile;
|
55 |
}
|
56 |
}
|
35 |
$data = $this->api->api( "user" );
|
36 |
|
37 |
if ( ! isset( $data->id ) ){
|
38 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
39 |
}
|
40 |
|
41 |
$this->user->profile->identifier = @ $data->id;
|
51 |
$this->user->profile->displayName = @ $data->login;
|
52 |
}
|
53 |
|
54 |
+
// request user emails from github api
|
55 |
+
if( ! $data->email ){
|
56 |
+
try{
|
57 |
+
$emails = $this->api->api("user/emails");
|
58 |
+
|
59 |
+
// fail gracefully, and let apps collect the email if not present
|
60 |
+
if (is_array($emails) && !empty($emails[0]->email))
|
61 |
+
{
|
62 |
+
$this->user->profile->email = $emails[0]->email;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
catch( GithubApiException $e ){
|
66 |
+
throw new Exception( "User email request failed! {$this->providerId} returned an error: $e", 6 );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
return $this->user->profile;
|
71 |
}
|
72 |
}
|
hybridauth/Hybrid/Providers/Goodreads.php
CHANGED
@@ -34,36 +34,36 @@ class Hybrid_Providers_Goodreads extends Hybrid_Provider_Model_OAuth1
|
|
34 |
{
|
35 |
// in case we get authorize=0
|
36 |
if ( ! isset($_REQUEST['oauth_token']) || ( isset( $_REQUEST['authorize'] ) && $_REQUEST['authorize'] == "0" ) ){
|
37 |
-
throw new Exception( "
|
38 |
}
|
39 |
|
40 |
$oauth_verifier = @ $_REQUEST['oauth_token'];
|
41 |
|
42 |
if ( !$oauth_verifier ){
|
43 |
-
throw new Exception( "
|
44 |
}
|
45 |
|
46 |
// request an access token
|
47 |
$tokens = $this->api->accessToken( $oauth_verifier );
|
48 |
|
49 |
-
// access tokens as
|
50 |
$this->access_tokens_raw = $tokens;
|
51 |
|
52 |
// check the last HTTP status code returned
|
53 |
if ( $this->api->http_code != 200 ){
|
54 |
-
throw new Exception( "
|
55 |
}
|
56 |
|
57 |
// we should have an access_token, or else, something has gone wrong
|
58 |
if ( ! isset( $tokens["oauth_token"] ) ){
|
59 |
-
throw new Exception( "
|
60 |
}
|
61 |
|
62 |
-
// we no more need to store
|
63 |
$this->deleteToken( "request_token" );
|
64 |
$this->deleteToken( "request_token_secret" );
|
65 |
|
66 |
-
//
|
67 |
$this->token( "access_token" , $tokens['oauth_token'] );
|
68 |
$this->token( "access_token_secret" , $tokens['oauth_token_secret'] );
|
69 |
|
34 |
{
|
35 |
// in case we get authorize=0
|
36 |
if ( ! isset($_REQUEST['oauth_token']) || ( isset( $_REQUEST['authorize'] ) && $_REQUEST['authorize'] == "0" ) ){
|
37 |
+
throw new Exception( "Authentication failed! The user denied your request.", 5 );
|
38 |
}
|
39 |
|
40 |
$oauth_verifier = @ $_REQUEST['oauth_token'];
|
41 |
|
42 |
if ( !$oauth_verifier ){
|
43 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid oauth verifier.", 5 );
|
44 |
}
|
45 |
|
46 |
// request an access token
|
47 |
$tokens = $this->api->accessToken( $oauth_verifier );
|
48 |
|
49 |
+
// access tokens as received from provider
|
50 |
$this->access_tokens_raw = $tokens;
|
51 |
|
52 |
// check the last HTTP status code returned
|
53 |
if ( $this->api->http_code != 200 ){
|
54 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 );
|
55 |
}
|
56 |
|
57 |
// we should have an access_token, or else, something has gone wrong
|
58 |
if ( ! isset( $tokens["oauth_token"] ) ){
|
59 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
60 |
}
|
61 |
|
62 |
+
// we no more need to store request tokens
|
63 |
$this->deleteToken( "request_token" );
|
64 |
$this->deleteToken( "request_token_secret" );
|
65 |
|
66 |
+
// store access_token for later user
|
67 |
$this->token( "access_token" , $tokens['oauth_token'] );
|
68 |
$this->token( "access_token_secret" , $tokens['oauth_token_secret'] );
|
69 |
|
hybridauth/Hybrid/Providers/Google.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*!
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -12,8 +12,11 @@
|
|
12 |
*/
|
13 |
class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
14 |
{
|
|
|
|
|
|
|
15 |
// default permissions
|
16 |
-
public $scope = "https://www.googleapis.com/auth/
|
17 |
|
18 |
/**
|
19 |
* IDp wrappers initializer
|
@@ -25,7 +28,13 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
|
25 |
// Provider api end-points
|
26 |
$this->api->authorize_url = "https://accounts.google.com/o/oauth2/auth";
|
27 |
$this->api->token_url = "https://accounts.google.com/o/oauth2/token";
|
28 |
-
$this->api->token_info_url = "https://www.googleapis.com/oauth2/
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
/**
|
@@ -34,14 +43,21 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
|
34 |
function loginBegin()
|
35 |
{
|
36 |
$parameters = array("scope" => $this->scope, "access_type" => "offline");
|
37 |
-
$optionals = array("scope", "access_type", "redirect_uri", "approval_prompt", "hd");
|
38 |
|
39 |
foreach ($optionals as $parameter){
|
40 |
if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){
|
41 |
$parameters[$parameter] = $this->config[$parameter];
|
42 |
}
|
|
|
|
|
|
|
43 |
}
|
44 |
|
|
|
|
|
|
|
|
|
45 |
Hybrid_Auth::redirect( $this->api->authorizeUrl( $parameters ) );
|
46 |
}
|
47 |
|
@@ -54,36 +70,107 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
|
54 |
$this->refreshToken();
|
55 |
|
56 |
// ask google api for user infos
|
57 |
-
|
|
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
if ( ! isset( $response->id ) || isset( $response->error ) ){
|
60 |
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
61 |
}
|
62 |
|
63 |
-
$this->user->profile->identifier = (property_exists($response,'id'))?$response->id:"";
|
64 |
-
$this->user->profile->firstName = (property_exists($response,'
|
65 |
-
$this->user->profile->lastName = (property_exists($response,'
|
66 |
-
$this->user->profile->displayName = (property_exists($response,'
|
67 |
-
$this->user->profile->photoURL = (property_exists($response,'
|
68 |
-
$this->user->profile->profileURL = "
|
|
|
69 |
$this->user->profile->gender = (property_exists($response,'gender'))?$response->gender:"";
|
70 |
-
$this->user->profile->
|
71 |
-
$this->user->profile->
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
if( property_exists($response,'birthday') ){
|
75 |
list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday );
|
76 |
|
77 |
$this->user->profile->birthDay = (int) $birthday_day;
|
78 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
79 |
$this->user->profile->birthYear = (int) $birthday_year;
|
|
|
|
|
80 |
}
|
81 |
-
|
82 |
return $this->user->profile;
|
83 |
}
|
84 |
|
85 |
/**
|
86 |
-
* load the user (Gmail) contacts
|
87 |
* ..toComplete
|
88 |
*/
|
89 |
function getUserContacts()
|
@@ -91,29 +178,106 @@ class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
|
91 |
// refresh tokens if needed
|
92 |
$this->refreshToken();
|
93 |
|
|
|
94 |
if( ! isset( $this->config['contacts_param'] ) ){
|
95 |
$this->config['contacts_param'] = array( "max-results" => 500 );
|
96 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
-
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
|
102 |
-
|
|
|
103 |
}
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
$
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
return $contacts;
|
118 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
2 |
/*!
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
12 |
*/
|
13 |
class Hybrid_Providers_Google extends Hybrid_Provider_Model_OAuth2
|
14 |
{
|
15 |
+
// > more infos on google APIs: http://developer.google.com (official site)
|
16 |
+
// or here: http://discovery-check.appspot.com/ (unofficial but up to date)
|
17 |
+
|
18 |
// default permissions
|
19 |
+
public $scope = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read https://www.google.com/m8/feeds/";
|
20 |
|
21 |
/**
|
22 |
* IDp wrappers initializer
|
28 |
// Provider api end-points
|
29 |
$this->api->authorize_url = "https://accounts.google.com/o/oauth2/auth";
|
30 |
$this->api->token_url = "https://accounts.google.com/o/oauth2/token";
|
31 |
+
$this->api->token_info_url = "https://www.googleapis.com/oauth2/v2/tokeninfo";
|
32 |
+
|
33 |
+
// Override the redirect uri when it's set in the config parameters. This way we prevent
|
34 |
+
// redirect uri mismatches when authenticating with Google.
|
35 |
+
if( isset( $this->config['redirect_uri'] ) && ! empty( $this->config['redirect_uri'] ) ){
|
36 |
+
$this->api->redirect_uri = $this->config['redirect_uri'];
|
37 |
+
}
|
38 |
}
|
39 |
|
40 |
/**
|
43 |
function loginBegin()
|
44 |
{
|
45 |
$parameters = array("scope" => $this->scope, "access_type" => "offline");
|
46 |
+
$optionals = array("scope", "access_type", "redirect_uri", "approval_prompt", "hd", "state");
|
47 |
|
48 |
foreach ($optionals as $parameter){
|
49 |
if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){
|
50 |
$parameters[$parameter] = $this->config[$parameter];
|
51 |
}
|
52 |
+
if( isset( $this->config["scope"] ) && ! empty( $this->config["scope"] ) ){
|
53 |
+
$this->scope = $this->config["scope"];
|
54 |
+
}
|
55 |
}
|
56 |
|
57 |
+
if( isset( $this->config[ 'force' ] ) && $this->config[ 'force' ] === true ){
|
58 |
+
$parameters[ 'approval_prompt' ] = 'force';
|
59 |
+
}
|
60 |
+
|
61 |
Hybrid_Auth::redirect( $this->api->authorizeUrl( $parameters ) );
|
62 |
}
|
63 |
|
70 |
$this->refreshToken();
|
71 |
|
72 |
// ask google api for user infos
|
73 |
+
if (strpos($this->scope, '/auth/plus.profile.emails.read') !== false) {
|
74 |
+
$verified = $this->api->api( "https://www.googleapis.com/plus/v1/people/me" );
|
75 |
|
76 |
+
if ( ! isset( $verified->id ) || isset( $verified->error ) )
|
77 |
+
$verified = new stdClass();
|
78 |
+
} else {
|
79 |
+
$verified = $this->api->api( "https://www.googleapis.com/plus/v1/people/me/openIdConnect" );
|
80 |
+
|
81 |
+
if ( ! isset( $verified->sub ) || isset( $verified->error ) )
|
82 |
+
$verified = new stdClass();
|
83 |
+
}
|
84 |
+
|
85 |
+
$response = $this->api->api( "https://www.googleapis.com/plus/v1/people/me" );
|
86 |
if ( ! isset( $response->id ) || isset( $response->error ) ){
|
87 |
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
88 |
}
|
89 |
|
90 |
+
$this->user->profile->identifier = (property_exists($verified,'id'))?$verified->id:((property_exists($response,'id'))?$response->id:"");
|
91 |
+
$this->user->profile->firstName = (property_exists($response,'name'))?$response->name->givenName:"";
|
92 |
+
$this->user->profile->lastName = (property_exists($response,'name'))?$response->name->familyName:"";
|
93 |
+
$this->user->profile->displayName = (property_exists($response,'displayName'))?$response->displayName:"";
|
94 |
+
$this->user->profile->photoURL = (property_exists($response,'image'))?((property_exists($response->image,'url'))?substr($response->image->url, 0, -2)."200":''):'';
|
95 |
+
$this->user->profile->profileURL = (property_exists($response,'url'))?$response->url:"";
|
96 |
+
$this->user->profile->description = (property_exists($response,'aboutMe'))?$response->aboutMe:"";
|
97 |
$this->user->profile->gender = (property_exists($response,'gender'))?$response->gender:"";
|
98 |
+
$this->user->profile->language = (property_exists($response,'locale'))?$response->locale:((property_exists($verified,'locale'))?$verified->locale:"");
|
99 |
+
$this->user->profile->email = (property_exists($response,'email'))?$response->email:((property_exists($verified,'email'))?$verified->email:"");
|
100 |
+
|
101 |
+
if (property_exists($response, 'emails')) {
|
102 |
+
if (count($response->emails) == 1) {
|
103 |
+
$this->user->profile->email = $response->emails[0]->value;
|
104 |
+
} else {
|
105 |
+
foreach ($response->emails as $email) {
|
106 |
+
if ($email->type == 'account') {
|
107 |
+
$this->user->profile->email = $email->value;
|
108 |
+
break;
|
109 |
+
}
|
110 |
+
}
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
$this->user->profile->emailVerified = $this->user->profile->email;
|
115 |
|
116 |
+
$this->user->profile->phone = (property_exists($response,'phone'))?$response->phone:"";
|
117 |
+
$this->user->profile->country = (property_exists($response,'country'))?$response->country:"";
|
118 |
+
$this->user->profile->region = (property_exists($response,'region'))?$response->region:"";
|
119 |
+
$this->user->profile->zip = (property_exists($response,'zip'))?$response->zip:"";
|
120 |
+
if( property_exists($response,'placesLived') ){
|
121 |
+
$this->user->profile->city = "";
|
122 |
+
$this->user->profile->address = "";
|
123 |
+
foreach($response->placesLived as $c){
|
124 |
+
if(property_exists($c,'primary')){
|
125 |
+
if($c->primary == true){
|
126 |
+
$this->user->profile->address = $c->value;
|
127 |
+
$this->user->profile->city = $c->value;
|
128 |
+
break;
|
129 |
+
}
|
130 |
+
}else{
|
131 |
+
if(property_exists($c,'value')){
|
132 |
+
$this->user->profile->address = $c->value;
|
133 |
+
$this->user->profile->city = $c->value;
|
134 |
+
}
|
135 |
+
}
|
136 |
+
}
|
137 |
+
}
|
138 |
+
|
139 |
+
// google API returns multiple urls, but a "website" only if it is verified
|
140 |
+
// see http://support.google.com/plus/answer/1713826?hl=en
|
141 |
+
if( property_exists($response,'urls') ){
|
142 |
+
foreach($response->urls as $u){
|
143 |
+
if(property_exists($u, 'primary') && $u->primary == true) $this->user->profile->webSiteURL = $u->value;
|
144 |
+
}
|
145 |
+
} else {
|
146 |
+
$this->user->profile->webSiteURL = '';
|
147 |
+
}
|
148 |
+
// google API returns age ranges or min. age only (with plus.login scope)
|
149 |
+
if( property_exists($response,'ageRange') ){
|
150 |
+
if( property_exists($response->ageRange,'min') && property_exists($response->ageRange,'max') ){
|
151 |
+
$this->user->profile->age = $response->ageRange->min.' - '.$response->ageRange->max;
|
152 |
+
} else {
|
153 |
+
$this->user->profile->age = '> '.$response->ageRange->min;
|
154 |
+
}
|
155 |
+
} else {
|
156 |
+
$this->user->profile->age = '';
|
157 |
+
}
|
158 |
+
// google API returns birthdays only if a user set 'show in my account'
|
159 |
if( property_exists($response,'birthday') ){
|
160 |
list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday );
|
161 |
|
162 |
$this->user->profile->birthDay = (int) $birthday_day;
|
163 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
164 |
$this->user->profile->birthYear = (int) $birthday_year;
|
165 |
+
} else {
|
166 |
+
$this->user->profile->birthDay=0;$this->user->profile->birthMonth=0;$this->user->profile->birthYear=0;
|
167 |
}
|
168 |
+
|
169 |
return $this->user->profile;
|
170 |
}
|
171 |
|
172 |
/**
|
173 |
+
* load the user (Gmail and google plus) contacts
|
174 |
* ..toComplete
|
175 |
*/
|
176 |
function getUserContacts()
|
178 |
// refresh tokens if needed
|
179 |
$this->refreshToken();
|
180 |
|
181 |
+
$contacts = array();
|
182 |
if( ! isset( $this->config['contacts_param'] ) ){
|
183 |
$this->config['contacts_param'] = array( "max-results" => 500 );
|
184 |
}
|
185 |
+
|
186 |
+
// Google Gmail and Android contacts
|
187 |
+
if (strpos($this->scope, '/m8/feeds/') !== false) {
|
188 |
+
|
189 |
+
$response = $this->api->api( "https://www.google.com/m8/feeds/contacts/default/full?"
|
190 |
+
. http_build_query( array_merge( array('alt' => 'json', 'v' => '3.0'), $this->config['contacts_param'] ) ) );
|
191 |
+
|
192 |
+
if( ! $response ){
|
193 |
+
return ARRAY();
|
194 |
+
}
|
195 |
|
196 |
+
if (isset($response->feed->entry)) {
|
197 |
+
foreach( $response->feed->entry as $idx => $entry ){
|
198 |
+
$uc = new Hybrid_User_Contact();
|
199 |
+
$uc->email = isset($entry->{'gd$email'}[0]->address) ? (string) $entry->{'gd$email'}[0]->address : '';
|
200 |
+
$uc->displayName = isset($entry->title->{'$t'}) ? (string) $entry->title->{'$t'} : '';
|
201 |
+
$uc->identifier = ($uc->email!='')?$uc->email:'';
|
202 |
+
$uc->description = '';
|
203 |
+
if( property_exists($entry,'link') ){
|
204 |
+
/**
|
205 |
+
* sign links with access_token
|
206 |
+
*/
|
207 |
+
if(is_array($entry->link)){
|
208 |
+
foreach($entry->link as $l){
|
209 |
+
if( property_exists($l,'gd$etag') && $l->type=="image/*"){
|
210 |
+
$uc->photoURL = $this->addUrlParam($l->href, array('access_token' => $this->api->access_token));
|
211 |
+
} else if($l->type=="self"){
|
212 |
+
$uc->profileURL = $this->addUrlParam($l->href, array('access_token' => $this->api->access_token));
|
213 |
+
}
|
214 |
+
}
|
215 |
+
}
|
216 |
+
} else {
|
217 |
+
$uc->profileURL = '';
|
218 |
+
}
|
219 |
+
if( property_exists($response,'website') ){
|
220 |
+
if(is_array($response->website)){
|
221 |
+
foreach($response->website as $w){
|
222 |
+
if($w->primary == true) $uc->webSiteURL = $w->value;
|
223 |
+
}
|
224 |
+
} else {
|
225 |
+
$uc->webSiteURL = $response->website->value;
|
226 |
+
}
|
227 |
+
} else {
|
228 |
+
$uc->webSiteURL = '';
|
229 |
+
}
|
230 |
|
231 |
+
$contacts[] = $uc;
|
232 |
+
}
|
233 |
+
}
|
234 |
}
|
235 |
+
|
236 |
+
// Google social contacts
|
237 |
+
if (strpos($this->scope, '/auth/plus.login') !== false) {
|
238 |
+
|
239 |
+
$response = $this->api->api( "https://www.googleapis.com/plus/v1/people/me/people/visible?"
|
240 |
+
. http_build_query( $this->config['contacts_param'] ) );
|
241 |
+
|
242 |
+
if( ! $response ){
|
243 |
+
return ARRAY();
|
244 |
+
}
|
245 |
+
|
246 |
+
foreach( $response->items as $idx => $item ){
|
247 |
+
$uc = new Hybrid_User_Contact();
|
248 |
+
$uc->email = (property_exists($item,'email'))?$item->email:'';
|
249 |
+
$uc->displayName = (property_exists($item,'displayName'))?$item->displayName:'';
|
250 |
+
$uc->identifier = (property_exists($item,'id'))?$item->id:'';
|
251 |
+
|
252 |
+
$uc->description = (property_exists($item,'objectType'))?$item->objectType:'';
|
253 |
+
$uc->photoURL = (property_exists($item,'image'))?((property_exists($item->image,'url'))?$item->image->url:''):'';
|
254 |
+
$uc->profileURL = (property_exists($item,'url'))?$item->url:'';
|
255 |
+
$uc->webSiteURL = '';
|
256 |
+
|
257 |
+
$contacts[] = $uc;
|
258 |
+
}
|
259 |
+
|
260 |
+
}
|
261 |
+
|
262 |
return $contacts;
|
263 |
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Add to the $url new parameters
|
267 |
+
* @param string $url
|
268 |
+
* @param array $params
|
269 |
+
* @return string
|
270 |
+
*/
|
271 |
+
function addUrlParam($url, array $params)
|
272 |
+
{
|
273 |
+
$query = parse_url($url, PHP_URL_QUERY);
|
274 |
+
|
275 |
+
// Returns the URL string with new parameters
|
276 |
+
if( $query ) {
|
277 |
+
$url .= '&' . http_build_query( $params );
|
278 |
+
} else {
|
279 |
+
$url .= '?' . http_build_query( $params );
|
280 |
+
}
|
281 |
+
return $url;
|
282 |
+
}
|
283 |
}
|
hybridauth/Hybrid/Providers/Gowalla.php
DELETED
@@ -1,102 +0,0 @@
|
|
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_Gowalla provider adapter based on OAuth2 protocol
|
10 |
-
*
|
11 |
-
* http://hybridauth.sourceforge.net/userguide/IDProvider_info_Gowalla.html
|
12 |
-
*/
|
13 |
-
class Hybrid_Providers_Gowalla extends Hybrid_Provider_Model_OAuth2
|
14 |
-
{
|
15 |
-
/**
|
16 |
-
* IDp wrappers initializer
|
17 |
-
*/
|
18 |
-
function initialize()
|
19 |
-
{
|
20 |
-
parent::initialize();
|
21 |
-
|
22 |
-
// Provider apis end-points
|
23 |
-
$this->api->api_base_url = "https://api.gowalla.com/";
|
24 |
-
$this->api->authorize_url = "https://gowalla.com/api/oauth/new";
|
25 |
-
$this->api->token_url = "https://api.gowalla.com/api/oauth/token";
|
26 |
-
|
27 |
-
$this->api->curl_header = array( 'X-Gowalla-API-Key: ' . $this->config["keys"]["id"], 'Accept: application/json' );
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* load the user profile from the IDp api client
|
32 |
-
*/
|
33 |
-
function getUserProfile()
|
34 |
-
{
|
35 |
-
// refresh tokens if needed
|
36 |
-
$this->refreshToken();
|
37 |
-
|
38 |
-
$data = $this->api->api( "users/me/" );
|
39 |
-
|
40 |
-
if ( ! is_object( $data ) || ! isset( $data->username ) )
|
41 |
-
{
|
42 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
43 |
-
}
|
44 |
-
|
45 |
-
$this->user->providerUID = @ (string) $data->username;
|
46 |
-
$this->user->profile->firstName = @ (string) $data->first_name;
|
47 |
-
$this->user->profile->lastName = @ (string) $data->last_name;
|
48 |
-
$this->user->profile->displayName = trim( $this->user->profile->firstName . " " . $this->user->profile->lastName );
|
49 |
-
$this->user->profile->profileURL = @ "http://gowalla.com" . ( (string) $data->url );
|
50 |
-
$this->user->profile->webSiteURL = @ (string) $data->website;
|
51 |
-
$this->user->profile->photoURL = @ (string) $data->image_url;
|
52 |
-
|
53 |
-
// make sure to always have a display name
|
54 |
-
if( ! $this->user->profile->displayName ){
|
55 |
-
$this->user->profile->displayName = @ (string) $data->username;
|
56 |
-
}
|
57 |
-
|
58 |
-
return $this->user->profile;
|
59 |
-
}
|
60 |
-
|
61 |
-
function refreshToken()
|
62 |
-
{
|
63 |
-
// have an access token?
|
64 |
-
if( $this->api->access_token ){
|
65 |
-
|
66 |
-
// have to refresh?
|
67 |
-
if( $this->api->refresh_token && $this->api->access_token_expires_at ){
|
68 |
-
|
69 |
-
// expired?
|
70 |
-
if( $this->api->access_token_expires_at <= time() ){
|
71 |
-
$response = $this->api->refreshToken( array( "refresh_token" => $this->api->refresh_token, "access_token" => $this->api->access_token ) );
|
72 |
-
|
73 |
-
if( ! isset( $response->access_token ) || ! $response->access_token ){
|
74 |
-
// set the user as disconnected at this point and throw an exception
|
75 |
-
$this->setUserUnconnected();
|
76 |
-
|
77 |
-
throw new Exception( "The Authorization Service has return an invalid response while requesting a new access token. " . (string) $response->error );
|
78 |
-
}
|
79 |
-
|
80 |
-
// set new access_token
|
81 |
-
$this->api->access_token = $response->access_token;
|
82 |
-
|
83 |
-
if( isset( $response->refresh_token ) )
|
84 |
-
$this->api->refresh_token = $response->refresh_token;
|
85 |
-
|
86 |
-
if( isset( $response->expires_in ) ){
|
87 |
-
$this->api->access_token_expires_in = $response->expires_in;
|
88 |
-
|
89 |
-
// even given by some idp, we should calculate this
|
90 |
-
$this->api->access_token_expires_at = time() + $response->expires_in;
|
91 |
-
}
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
// re store tokens
|
96 |
-
$this->token( "access_token" , $this->api->access_token );
|
97 |
-
$this->token( "refresh_token", $this->api->refresh_token );
|
98 |
-
$this->token( "expires_in" , $this->api->access_token_expires_in );
|
99 |
-
$this->token( "expires_at" , $this->api->access_token_expires_at );
|
100 |
-
}
|
101 |
-
}
|
102 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hybridauth/Hybrid/Providers/Identica.php
CHANGED
@@ -75,7 +75,7 @@ class Hybrid_Providers_Identica extends Hybrid_Provider_Model_OAuth1
|
|
75 |
|
76 |
$contacts = ARRAY();
|
77 |
|
78 |
-
//
|
79 |
foreach( $response as $item ){
|
80 |
$parameters = array( 'user_id' => $item );
|
81 |
$responseud = $this->api->get( 'users/show.json', $parameters );
|
75 |
|
76 |
$contacts = ARRAY();
|
77 |
|
78 |
+
// dunno if users/lookup is supported by identica.. to do
|
79 |
foreach( $response as $item ){
|
80 |
$parameters = array( 'user_id' => $item );
|
81 |
$responseud = $this->api->get( 'users/show.json', $parameters );
|
hybridauth/Hybrid/Providers/Instagram.php
CHANGED
@@ -1,48 +1,48 @@
|
|
1 |
-
<?php
|
2 |
-
/*!
|
3 |
-
* HybridAuth
|
4 |
-
* http://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Hybrid_Providers_Instagram (By Sebastian Lasse - https://github.com/sebilasse)
|
10 |
-
*/
|
11 |
-
class Hybrid_Providers_Instagram extends Hybrid_Provider_Model_OAuth2
|
12 |
-
{
|
13 |
-
// default permissions
|
14 |
-
public $scope = "basic";
|
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://api.instagram.com/v1/";
|
25 |
-
$this->api->authorize_url = "https://api.instagram.com/oauth/authorize/";
|
26 |
-
$this->api->token_url = "https://api.instagram.com/oauth/access_token";
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* load the user profile from the IDp api client
|
31 |
-
*/
|
32 |
-
function getUserProfile(){
|
33 |
-
$data = $this->api->api("users/self/" );
|
34 |
-
|
35 |
-
if ( $data->meta->code != 200 ){
|
36 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
37 |
-
}
|
38 |
-
|
39 |
-
$this->user->profile->identifier = $data->data->id;
|
40 |
-
$this->user->profile->displayName = $data->data->full_name ? $data->data->full_name : $data->data->username;
|
41 |
-
$this->user->profile->description = $data->data->bio;
|
42 |
-
$this->user->profile->photoURL = $data->data->profile_picture;
|
43 |
-
|
44 |
-
$this->user->profile->webSiteURL = $data->data->website;
|
45 |
-
|
46 |
-
return $this->user->profile;
|
47 |
-
}
|
48 |
-
}
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012 HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_Instagram (By Sebastian Lasse - https://github.com/sebilasse)
|
10 |
+
*/
|
11 |
+
class Hybrid_Providers_Instagram extends Hybrid_Provider_Model_OAuth2
|
12 |
+
{
|
13 |
+
// default permissions
|
14 |
+
public $scope = "basic";
|
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://api.instagram.com/v1/";
|
25 |
+
$this->api->authorize_url = "https://api.instagram.com/oauth/authorize/";
|
26 |
+
$this->api->token_url = "https://api.instagram.com/oauth/access_token";
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* load the user profile from the IDp api client
|
31 |
+
*/
|
32 |
+
function getUserProfile(){
|
33 |
+
$data = $this->api->api("users/self/" );
|
34 |
+
|
35 |
+
if ( $data->meta->code != 200 ){
|
36 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
37 |
+
}
|
38 |
+
|
39 |
+
$this->user->profile->identifier = $data->data->id;
|
40 |
+
$this->user->profile->displayName = $data->data->full_name ? $data->data->full_name : $data->data->username;
|
41 |
+
$this->user->profile->description = $data->data->bio;
|
42 |
+
$this->user->profile->photoURL = $data->data->profile_picture;
|
43 |
+
|
44 |
+
$this->user->profile->webSiteURL = $data->data->website;
|
45 |
+
|
46 |
+
return $this->user->profile;
|
47 |
+
}
|
48 |
+
}
|
hybridauth/Hybrid/Providers/LastFM.php
CHANGED
@@ -48,14 +48,14 @@ class Hybrid_Providers_LastFM extends Hybrid_Provider_Model
|
|
48 |
|
49 |
if ( ! $token )
|
50 |
{
|
51 |
-
throw new Exception( "
|
52 |
}
|
53 |
|
54 |
try{
|
55 |
$response = $this->api->fetchSession( $token );
|
56 |
}
|
57 |
catch( LastFMException $e ){
|
58 |
-
throw new Exception( "
|
59 |
}
|
60 |
|
61 |
if( isset( $response['sk'] ) && isset( $response['name'] ) ){
|
@@ -68,7 +68,7 @@ class Hybrid_Providers_LastFM extends Hybrid_Provider_Model
|
|
68 |
$this->setUserConnected();
|
69 |
}
|
70 |
else{
|
71 |
-
throw new Exception( "
|
72 |
}
|
73 |
}
|
74 |
|
48 |
|
49 |
if ( ! $token )
|
50 |
{
|
51 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 );
|
52 |
}
|
53 |
|
54 |
try{
|
55 |
$response = $this->api->fetchSession( $token );
|
56 |
}
|
57 |
catch( LastFMException $e ){
|
58 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error while requesting and access token. $e.", 6 );
|
59 |
}
|
60 |
|
61 |
if( isset( $response['sk'] ) && isset( $response['name'] ) ){
|
68 |
$this->setUserConnected();
|
69 |
}
|
70 |
else{
|
71 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access Token.", 5 );
|
72 |
}
|
73 |
}
|
74 |
|
hybridauth/Hybrid/Providers/Latch.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2013, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_Latch provider adapter based on OpenID protocol
|
10 |
+
*
|
11 |
+
* http://hybridauth.sourceforge.net/userguide/IDProvider_info_Latch.html
|
12 |
+
*/
|
13 |
+
class Hybrid_Providers_Latch extends Hybrid_Provider_Model_OpenID
|
14 |
+
{
|
15 |
+
var $openidIdentifier = "http://auth.latch-app.com/OpenIdServer/user.jsp";
|
16 |
+
|
17 |
+
/**
|
18 |
+
* finish login step
|
19 |
+
*/
|
20 |
+
function loginFinish()
|
21 |
+
{
|
22 |
+
parent::loginFinish();
|
23 |
+
|
24 |
+
$this->user->profile->identifier = $this->user->profile->email;
|
25 |
+
$this->user->profile->emailVerified = $this->user->profile->email;
|
26 |
+
|
27 |
+
// restore the user profile
|
28 |
+
Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user );
|
29 |
+
}
|
30 |
+
}
|
hybridauth/Hybrid/Providers/LinkedIn.php
CHANGED
@@ -22,8 +22,9 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
|
|
22 |
if ( ! $this->config["keys"]["key"] || ! $this->config["keys"]["secret"] ){
|
23 |
throw new Exception( "Your application key and secret are required in order to connect to {$this->providerId}.", 4 );
|
24 |
}
|
25 |
-
|
26 |
-
|
|
|
27 |
require_once Hybrid_Auth::$config["path_libraries"] . "LinkedIn/LinkedIn.php";
|
28 |
|
29 |
$this->api = new LinkedIn( array( 'appKey' => $this->config["keys"]["key"], 'appSecret' => $this->config["keys"]["secret"], 'callbackUrl' => $this->endpoint ) );
|
@@ -200,6 +201,8 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
|
|
200 |
{
|
201 |
throw new Exception( "Update user status update failed! {$this->providerId} returned an error." );
|
202 |
}
|
|
|
|
|
203 |
}
|
204 |
|
205 |
/**
|
22 |
if ( ! $this->config["keys"]["key"] || ! $this->config["keys"]["secret"] ){
|
23 |
throw new Exception( "Your application key and secret are required in order to connect to {$this->providerId}.", 4 );
|
24 |
}
|
25 |
+
if ( ! class_exists('OAuthConsumer') ) {
|
26 |
+
require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth.php";
|
27 |
+
}
|
28 |
require_once Hybrid_Auth::$config["path_libraries"] . "LinkedIn/LinkedIn.php";
|
29 |
|
30 |
$this->api = new LinkedIn( array( 'appKey' => $this->config["keys"]["key"], 'appSecret' => $this->config["keys"]["secret"], 'callbackUrl' => $this->endpoint ) );
|
201 |
{
|
202 |
throw new Exception( "Update user status update failed! {$this->providerId} returned an error." );
|
203 |
}
|
204 |
+
|
205 |
+
return $response;
|
206 |
}
|
207 |
|
208 |
/**
|
hybridauth/Hybrid/Providers/Live.php
CHANGED
@@ -46,7 +46,7 @@ class Hybrid_Providers_Live extends Hybrid_Provider_Model_OAuth2
|
|
46 |
$data = $this->api->get( "me" );
|
47 |
|
48 |
if ( ! isset( $data->id ) ){
|
49 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
50 |
}
|
51 |
|
52 |
$this->user->profile->identifier = (property_exists($data,'id'))?$data->id:"";
|
@@ -85,7 +85,7 @@ class Hybrid_Providers_Live extends Hybrid_Provider_Model_OAuth2
|
|
85 |
throw new Exception( 'User contacts request failed! ' . $this->providerId . ' returned an error: ' . $this->errorMessageByStatus( $this->api->http_code ) );
|
86 |
}
|
87 |
|
88 |
-
if ( !
|
89 |
{
|
90 |
return array();
|
91 |
}
|
46 |
$data = $this->api->get( "me" );
|
47 |
|
48 |
if ( ! isset( $data->id ) ){
|
49 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
50 |
}
|
51 |
|
52 |
$this->user->profile->identifier = (property_exists($data,'id'))?$data->id:"";
|
85 |
throw new Exception( 'User contacts request failed! ' . $this->providerId . ' returned an error: ' . $this->errorMessageByStatus( $this->api->http_code ) );
|
86 |
}
|
87 |
|
88 |
+
if ( !isset($response->data) || ( isset($response->errcode) && $response->errcode != 0 ) )
|
89 |
{
|
90 |
return array();
|
91 |
}
|
hybridauth/Hybrid/Providers/Mailru.php
CHANGED
@@ -35,7 +35,7 @@ class Hybrid_Providers_Mailru extends Hybrid_Provider_Model_OAuth2
|
|
35 |
$sig = md5( "client_id=" . $this->api->client_id . "format=jsonmethod=users.getInfosecure=1session_key=". $this->api->access_token . $this->api->client_secret );
|
36 |
$response = $this->api->api( "?format=json&client_id=" . $this->api->client_id . "&method=users.getInfo&secure=1&sig=" .$sig);
|
37 |
if ( ! isset( $response[0]->uid ) ){
|
38 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
39 |
}
|
40 |
|
41 |
$response = $response[0];
|
35 |
$sig = md5( "client_id=" . $this->api->client_id . "format=jsonmethod=users.getInfosecure=1session_key=". $this->api->access_token . $this->api->client_secret );
|
36 |
$response = $this->api->api( "?format=json&client_id=" . $this->api->client_id . "&method=users.getInfo&secure=1&sig=" .$sig);
|
37 |
if ( ! isset( $response[0]->uid ) ){
|
38 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
39 |
}
|
40 |
|
41 |
$response = $response[0];
|
hybridauth/Hybrid/Providers/MySpace.php
DELETED
@@ -1,164 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*!
|
3 |
-
* HybridAuth
|
4 |
-
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Hybrid_Providers_MySpace provider adapter based on OAuth1 protocol
|
10 |
-
*
|
11 |
-
* http://hybridauth.sourceforge.net/userguide/IDProvider_info_MySpace.html
|
12 |
-
*/
|
13 |
-
class Hybrid_Providers_MySpace extends Hybrid_Provider_Model_OAuth1
|
14 |
-
{
|
15 |
-
/**
|
16 |
-
* IDp wrappers initializer
|
17 |
-
*/
|
18 |
-
function initialize()
|
19 |
-
{
|
20 |
-
parent::initialize();
|
21 |
-
|
22 |
-
// Provider api end-points
|
23 |
-
$this->api->api_endpoint_url = "http://api.myspace.com/v1/";
|
24 |
-
$this->api->authorize_url = "http://api.myspace.com/authorize";
|
25 |
-
$this->api->request_token_url = "http://api.myspace.com/request_token";
|
26 |
-
$this->api->access_token_url = "http://api.myspace.com/access_token";
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* get the connected uid from myspace api
|
31 |
-
*/
|
32 |
-
public function getCurrentUserId()
|
33 |
-
{
|
34 |
-
$response = $this->api->get( 'http://api.myspace.com/v1/user.json' );
|
35 |
-
|
36 |
-
if ( ! isset( $response->userId ) ){
|
37 |
-
throw new Exception( "User id request failed! {$this->providerId} returned an invalid response." );
|
38 |
-
}
|
39 |
-
|
40 |
-
return $response->userId;
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* load the user profile from the IDp api client
|
45 |
-
*/
|
46 |
-
function getUserProfile()
|
47 |
-
{
|
48 |
-
$userId = $this->getCurrentUserId();
|
49 |
-
|
50 |
-
$data = $this->api->get( 'http://api.myspace.com/v1/users/' . $userId . '/profile.json' );
|
51 |
-
|
52 |
-
if ( ! is_object( $data ) ){
|
53 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
54 |
-
}
|
55 |
-
|
56 |
-
$this->user->profile->identifier = $userId;
|
57 |
-
$this->user->profile->displayName = $data->basicprofile->name;
|
58 |
-
$this->user->profile->description = $data->aboutme;
|
59 |
-
$this->user->profile->gender = $data->basicprofile->gender;
|
60 |
-
$this->user->profile->photoURL = $data->basicprofile->image;
|
61 |
-
$this->user->profile->profileURL = $data->basicprofile->webUri;
|
62 |
-
$this->user->profile->age = $data->age;
|
63 |
-
$this->user->profile->country = $data->country;
|
64 |
-
$this->user->profile->region = $data->region;
|
65 |
-
$this->user->profile->city = $data->city;
|
66 |
-
$this->user->profile->zip = $data->postalcode;
|
67 |
-
|
68 |
-
return $this->user->profile;
|
69 |
-
}
|
70 |
-
|
71 |
-
/**
|
72 |
-
* load the user contacts
|
73 |
-
*/
|
74 |
-
function getUserContacts()
|
75 |
-
{
|
76 |
-
$userId = $this->getCurrentUserId();
|
77 |
-
|
78 |
-
$response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/friends.json" );
|
79 |
-
|
80 |
-
if ( ! is_object( $response ) ){
|
81 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
82 |
-
}
|
83 |
-
|
84 |
-
$contacts = ARRAY();
|
85 |
-
|
86 |
-
foreach( $response->Friends as $item ){
|
87 |
-
$uc = new Hybrid_User_Contact();
|
88 |
-
|
89 |
-
$uc->identifier = $item->userId;
|
90 |
-
$uc->displayName = $item->name;
|
91 |
-
$uc->profileURL = $item->webUri;
|
92 |
-
$uc->photoURL = $item->image;
|
93 |
-
$uc->description = $item->status;
|
94 |
-
|
95 |
-
$contacts[] = $uc;
|
96 |
-
}
|
97 |
-
|
98 |
-
return $contacts;
|
99 |
-
}
|
100 |
-
|
101 |
-
/**
|
102 |
-
* update user status
|
103 |
-
*/
|
104 |
-
function setUserStatus( $status )
|
105 |
-
{
|
106 |
-
// crappy myspace... gonna see this asaic
|
107 |
-
$userId = $this->getCurrentUserId();
|
108 |
-
|
109 |
-
$parameters = array( 'status' => $status );
|
110 |
-
|
111 |
-
$response = $this->api->api( "http://api.myspace.com/v1/users/" . $userId . "/status", 'PUT', $parameters );
|
112 |
-
|
113 |
-
// check the last HTTP status code returned
|
114 |
-
if ( $this->api->http_code != 200 )
|
115 |
-
{
|
116 |
-
throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) );
|
117 |
-
}
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* load the user latest activity
|
122 |
-
* - timeline : all the stream
|
123 |
-
* - me : the user activity only
|
124 |
-
*/
|
125 |
-
function getUserActivity( $stream )
|
126 |
-
{
|
127 |
-
$userId = $this->getCurrentUserId();
|
128 |
-
|
129 |
-
if( $stream == "me" ){
|
130 |
-
$response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/status.json" );
|
131 |
-
}
|
132 |
-
else{
|
133 |
-
$response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/friends/status.json" );
|
134 |
-
}
|
135 |
-
|
136 |
-
if ( ! is_object( $response ) ){
|
137 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
138 |
-
}
|
139 |
-
|
140 |
-
$activities = ARRAY();
|
141 |
-
|
142 |
-
if( $stream == "me" ){
|
143 |
-
// todo
|
144 |
-
}
|
145 |
-
else{
|
146 |
-
foreach( $response->FriendsStatus as $item ){
|
147 |
-
$ua = new Hybrid_User_Activity();
|
148 |
-
|
149 |
-
$ua->id = $item->statusId;
|
150 |
-
$ua->date = NULL; // to find out!!
|
151 |
-
$ua->text = $item->status;
|
152 |
-
|
153 |
-
$ua->user->identifier = $item->user->userId;
|
154 |
-
$ua->user->displayName = $item->user->name;
|
155 |
-
$ua->user->profileURL = $item->user->uri;
|
156 |
-
$ua->user->photoURL = $item->user->image;
|
157 |
-
|
158 |
-
$activities[] = $ua;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
return $activities;
|
163 |
-
}
|
164 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hybridauth/Hybrid/Providers/Odnoklassniki.php
CHANGED
@@ -31,7 +31,7 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
31 |
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", serialize( $params ) );
|
32 |
|
33 |
if( $type == "GET" ){
|
34 |
-
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query(
|
35 |
}
|
36 |
|
37 |
$this->http_info = array();
|
@@ -39,13 +39,13 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
39 |
|
40 |
curl_setopt($ch, CURLOPT_URL , $url );
|
41 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
|
42 |
-
curl_setopt($ch, CURLOPT_TIMEOUT , $this->curl_time_out );
|
43 |
-
curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent );
|
44 |
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out );
|
45 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer );
|
46 |
-
curl_setopt($ch, CURLOPT_HTTPHEADER , $this->curl_header );
|
47 |
-
if($this->curl_proxy){
|
48 |
-
curl_setopt( $ch, CURLOPT_PROXY , $this->curl_proxy);
|
49 |
}
|
50 |
if( $type == "POST" ){
|
51 |
curl_setopt($ch, CURLOPT_POST, 1);
|
@@ -67,11 +67,11 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
67 |
{
|
68 |
if( json_decode( $result ) ) return json_decode( $result );
|
69 |
|
70 |
-
parse_str( $result, $
|
71 |
|
72 |
$result = new StdClass();
|
73 |
|
74 |
-
foreach( $
|
75 |
$result->$k = $v;
|
76 |
|
77 |
return $result;
|
@@ -100,7 +100,14 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
100 |
if( isset( $response->expires_in ) ) $this->api->access_token_expires_in = $response->expires_in;
|
101 |
|
102 |
// calculate when the access token expire
|
|
|
|
|
|
|
103 |
$this->api->access_token_expires_at = time() + $response->expires_in;
|
|
|
|
|
|
|
|
|
104 |
|
105 |
return $response;
|
106 |
}
|
@@ -111,10 +118,10 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
111 |
|
112 |
// check for errors
|
113 |
if ( $error ){
|
114 |
-
throw new Exception( "
|
115 |
}
|
116 |
|
117 |
-
// try to
|
118 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
119 |
|
120 |
try{
|
@@ -126,7 +133,7 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
126 |
|
127 |
// check if authenticated
|
128 |
if ( ! $this->api->access_token ){
|
129 |
-
throw new Exception( "
|
130 |
}
|
131 |
|
132 |
// store tokens
|
@@ -147,10 +154,10 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
147 |
$sig = md5('application_key=' . $this->config['keys']['key'] . 'method=users.getCurrentUser' . md5($this->api->access_token . $this->api->client_secret));
|
148 |
$response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig);
|
149 |
if ( ! isset( $response->uid ) ){
|
150 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
151 |
}
|
152 |
|
153 |
-
|
154 |
$this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:"";
|
155 |
$this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:"";
|
156 |
$this->user->profile->displayName = (property_exists($response,'name'))?$response->name:"";
|
@@ -171,4 +178,4 @@ class Hybrid_Providers_Odnoklassniki extends Hybrid_Provider_Model_OAuth2
|
|
171 |
|
172 |
return $this->user->profile;
|
173 |
}
|
174 |
-
}
|
31 |
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", serialize( $params ) );
|
32 |
|
33 |
if( $type == "GET" ){
|
34 |
+
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query($params, '', '&');
|
35 |
}
|
36 |
|
37 |
$this->http_info = array();
|
39 |
|
40 |
curl_setopt($ch, CURLOPT_URL , $url );
|
41 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
|
42 |
+
curl_setopt($ch, CURLOPT_TIMEOUT , $this->api->curl_time_out );
|
43 |
+
curl_setopt($ch, CURLOPT_USERAGENT , $this->api->curl_useragent );
|
44 |
+
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->api->curl_connect_time_out );
|
45 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->api->curl_ssl_verifypeer );
|
46 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER , $this->api->curl_header );
|
47 |
+
if($this->api->curl_proxy){
|
48 |
+
curl_setopt( $ch, CURLOPT_PROXY , $this->api->curl_proxy);
|
49 |
}
|
50 |
if( $type == "POST" ){
|
51 |
curl_setopt($ch, CURLOPT_POST, 1);
|
67 |
{
|
68 |
if( json_decode( $result ) ) return json_decode( $result );
|
69 |
|
70 |
+
parse_str( $result, $output );
|
71 |
|
72 |
$result = new StdClass();
|
73 |
|
74 |
+
foreach( $output as $k => $v )
|
75 |
$result->$k = $v;
|
76 |
|
77 |
return $result;
|
100 |
if( isset( $response->expires_in ) ) $this->api->access_token_expires_in = $response->expires_in;
|
101 |
|
102 |
// calculate when the access token expire
|
103 |
+
// At this moment Odnoklassniki does not return expire time in response.
|
104 |
+
// 30 minutes expire time staten in dev docs http://apiok.ru/wiki/pages/viewpage.action?pageId=42476652
|
105 |
+
if( isset( $response->expires_in ) ) {
|
106 |
$this->api->access_token_expires_at = time() + $response->expires_in;
|
107 |
+
}
|
108 |
+
else {
|
109 |
+
$this->api->access_token_expires_at = time() + 1800;
|
110 |
+
}
|
111 |
|
112 |
return $response;
|
113 |
}
|
118 |
|
119 |
// check for errors
|
120 |
if ( $error ){
|
121 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 );
|
122 |
}
|
123 |
|
124 |
+
// try to authenticate user
|
125 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
126 |
|
127 |
try{
|
133 |
|
134 |
// check if authenticated
|
135 |
if ( ! $this->api->access_token ){
|
136 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
137 |
}
|
138 |
|
139 |
// store tokens
|
154 |
$sig = md5('application_key=' . $this->config['keys']['key'] . 'method=users.getCurrentUser' . md5($this->api->access_token . $this->api->client_secret));
|
155 |
$response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig);
|
156 |
if ( ! isset( $response->uid ) ){
|
157 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
158 |
}
|
159 |
|
160 |
+
$this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:"";
|
161 |
$this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:"";
|
162 |
$this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:"";
|
163 |
$this->user->profile->displayName = (property_exists($response,'name'))?$response->name:"";
|
178 |
|
179 |
return $this->user->profile;
|
180 |
}
|
181 |
+
}
|
hybridauth/Hybrid/Providers/Paypal.php
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* PayPal OAuth2 Class
|
10 |
+
*
|
11 |
+
* @package HybridAuth providers package
|
12 |
+
* @author Jan Waś <janek.jan@gmail.com>
|
13 |
+
* @version 0.2
|
14 |
+
* @license BSD License
|
15 |
+
*/
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Hybrid_Providers_Paypal - PayPal provider adapter based on OAuth2 protocol
|
19 |
+
*/
|
20 |
+
class Hybrid_Providers_Paypal extends Hybrid_Provider_Model_OAuth2
|
21 |
+
{
|
22 |
+
// default permissions
|
23 |
+
public $scope = "profile email address phone https://uri.paypal.com/services/paypalattributes";
|
24 |
+
|
25 |
+
public $sandbox = true;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* IDp wrappers initializer
|
29 |
+
*/
|
30 |
+
function initialize()
|
31 |
+
{
|
32 |
+
if ( ! $this->config["keys"]["id"] || ! $this->config["keys"]["secret"] ){
|
33 |
+
throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 );
|
34 |
+
}
|
35 |
+
|
36 |
+
// override requested scope
|
37 |
+
if( isset( $this->config["scope"] ) && ! empty( $this->config["scope"] ) ){
|
38 |
+
$this->scope = $this->config["scope"];
|
39 |
+
}
|
40 |
+
|
41 |
+
// include OAuth2 client and Paypal client
|
42 |
+
require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth2Client.php";
|
43 |
+
require_once Hybrid_Auth::$config["path_libraries"] . "Paypal/PaypalOAuth2Client.php";
|
44 |
+
|
45 |
+
// create a new OAuth2 client instance
|
46 |
+
$this->api = new PaypalOAuth2Client( $this->config["keys"]["id"], $this->config["keys"]["secret"], $this->endpoint );
|
47 |
+
|
48 |
+
// If we have an access token, set it
|
49 |
+
if( $this->token( "access_token" ) ){
|
50 |
+
$this->api->access_token = $this->token( "access_token" );
|
51 |
+
$this->api->refresh_token = $this->token( "refresh_token" );
|
52 |
+
$this->api->access_token_expires_in = $this->token( "expires_in" );
|
53 |
+
$this->api->access_token_expires_at = $this->token( "expires_at" );
|
54 |
+
}
|
55 |
+
|
56 |
+
// Set curl proxy if exist
|
57 |
+
if( isset( Hybrid_Auth::$config["proxy"] ) ){
|
58 |
+
$this->api->curl_proxy = Hybrid_Auth::$config["proxy"];
|
59 |
+
}
|
60 |
+
|
61 |
+
// Provider api end-points
|
62 |
+
if ($this->sandbox) {
|
63 |
+
$this->api->authorize_url = "https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize";
|
64 |
+
$this->api->token_url = "https://api.sandbox.paypal.com/v1/oauth2/token";
|
65 |
+
$this->api->token_info_url = "https://api.sandbox.paypal.com/v1/identity/openidconnect/tokenservice";
|
66 |
+
} else {
|
67 |
+
$this->api->authorize_url = "https://www.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize";
|
68 |
+
$this->api->token_url = "https://api.paypal.com/v1/oauth2/token";
|
69 |
+
$this->api->token_info_url = "https://api.paypal.com/v1/identity/openidconnect/tokenservice";
|
70 |
+
}
|
71 |
+
|
72 |
+
if (Hybrid_Auth::$config["debug_mode"]) {
|
73 |
+
$this->api->curl_log = Hybrid_Auth::$config["debug_file"];
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* begin login step
|
79 |
+
*/
|
80 |
+
/*function loginBegin()
|
81 |
+
{
|
82 |
+
$parameters = array("scope" => $this->scope, "grant_type" => "client_credentials");
|
83 |
+
$optionals = array("scope", "access_type", "redirect_uri", "approval_prompt", "hd");
|
84 |
+
|
85 |
+
foreach ($optionals as $parameter){
|
86 |
+
if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){
|
87 |
+
$parameters[$parameter] = $this->config[$parameter];
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
Hybrid_Auth::redirect( $this->api->authorizeUrl( $parameters ) );
|
92 |
+
}*/
|
93 |
+
|
94 |
+
/**
|
95 |
+
* load the user profile from the IDp api client
|
96 |
+
*/
|
97 |
+
function getUserProfile()
|
98 |
+
{
|
99 |
+
// refresh tokens if needed
|
100 |
+
$this->refreshToken();
|
101 |
+
|
102 |
+
// ask google api for user infos
|
103 |
+
$response = $this->api->api( "https://api".($this->sandbox?'.sandbox' : '').".paypal.com/v1/identity/openidconnect/userinfo/?schema=openid" );
|
104 |
+
|
105 |
+
if ( ! isset( $response->payer_id ) || isset( $response->message ) ){
|
106 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
107 |
+
}
|
108 |
+
|
109 |
+
$this->user->profile->identifier = (property_exists($response,'payer_id'))?$response->payer_id:"";
|
110 |
+
$this->user->profile->firstName = (property_exists($response,'given_name'))?$response->given_name:"";
|
111 |
+
$this->user->profile->lastName = (property_exists($response,'family_name'))?$response->family_name:"";
|
112 |
+
$this->user->profile->displayName = (property_exists($response,'name'))?$response->name:"";
|
113 |
+
$this->user->profile->photoURL = (property_exists($response,'picture'))?$response->picture:"";
|
114 |
+
$this->user->profile->gender = (property_exists($response,'gender'))?$response->gender:"";
|
115 |
+
$this->user->profile->email = (property_exists($response,'email'))?$response->email:"";
|
116 |
+
$this->user->profile->emailVerified = (property_exists($response,'email_verified'))?$response->email_verified:"";
|
117 |
+
$this->user->profile->language = (property_exists($response,'locale'))?$response->locale:"";
|
118 |
+
$this->user->profile->phone = (property_exists($response,'phone_number'))?$response->phone_number:"";
|
119 |
+
if (property_exists($response,'address')) {
|
120 |
+
$address = $response->address;
|
121 |
+
$this->user->profile->address = (property_exists($address,'street_address'))?$address->street_address:"";
|
122 |
+
$this->user->profile->city = (property_exists($address,'locality'))?$address->locality:"";
|
123 |
+
$this->user->profile->zip = (property_exists($address,'postal_code'))?$address->postal_code:"";
|
124 |
+
$this->user->profile->country = (property_exists($address,'country'))?$address->country:"";
|
125 |
+
$this->user->profile->region = (property_exists($address,'region'))?$address->region:"";
|
126 |
+
}
|
127 |
+
|
128 |
+
if( property_exists($response,'birthdate') ){
|
129 |
+
if (strpos($response->birthdate, '-') === false) {
|
130 |
+
if ($response->birthdate !== '0000') {
|
131 |
+
$this->user->profile->birthYear = (int) $response->birthdate;
|
132 |
+
}
|
133 |
+
} else {
|
134 |
+
list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthdate );
|
135 |
+
|
136 |
+
$this->user->profile->birthDay = (int) $birthday_day;
|
137 |
+
$this->user->profile->birthMonth = (int) $birthday_month;
|
138 |
+
if ($birthday_year !== '0000') {
|
139 |
+
$this->user->profile->birthYear = (int) $birthday_year;
|
140 |
+
}
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
+
return $this->user->profile;
|
145 |
+
}
|
146 |
+
}
|
hybridauth/Hybrid/Providers/PixelPin.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_PixelPin provider adapter based on OAuth2 protocol
|
10 |
+
*
|
11 |
+
* http://hybridauth.sourceforge.net/userguide/IDProvider_info_PixelPin.html
|
12 |
+
*/
|
13 |
+
class Hybrid_Providers_PixelPin extends Hybrid_Provider_Model_OAuth2
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* IDp wrappers initializer
|
17 |
+
*/
|
18 |
+
function initialize()
|
19 |
+
{
|
20 |
+
parent::initialize();
|
21 |
+
|
22 |
+
// Provider apis end-points
|
23 |
+
$this->api->api_base_url = "https://ws3.pixelpin.co.uk/index.php/api/";
|
24 |
+
$this->api->authorize_url = "https://login.pixelpin.co.uk/OAuth2/FLogin.aspx";
|
25 |
+
$this->api->token_url = "https://ws3.pixelpin.co.uk/index.php/api/token";
|
26 |
+
|
27 |
+
$this->api->sign_token_name = "oauth_token";
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* load the user profile from the IDp api client
|
32 |
+
*/
|
33 |
+
function getUserProfile()
|
34 |
+
{
|
35 |
+
$data = $this->api->api( "userdata", "POST" );
|
36 |
+
|
37 |
+
if ( ! isset( $data->id ) ){
|
38 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->user->profile->identifier = $data->id;
|
42 |
+
$this->user->profile->firstName = $data->firstName;
|
43 |
+
$this->user->profile->displayName = $data->firstName;
|
44 |
+
$this->user->profile->email = $data->email;
|
45 |
+
$this->user->profile->emailVerified = $data->email;
|
46 |
+
|
47 |
+
return $this->user->profile;
|
48 |
+
}
|
49 |
+
}
|
hybridauth/Hybrid/Providers/Reddit.php
ADDED
@@ -0,0 +1,205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014 HybridAuth authors | hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_Reddit
|
10 |
+
*/
|
11 |
+
class Hybrid_Providers_Reddit extends Hybrid_Provider_Model_OAuth2
|
12 |
+
{
|
13 |
+
// default permissions
|
14 |
+
//full list at http://www.reddit.com/dev/api/oauth
|
15 |
+
public $scope = "identity";
|
16 |
+
|
17 |
+
/**
|
18 |
+
* IDp wrappers initializer
|
19 |
+
*/
|
20 |
+
function initialize()
|
21 |
+
{
|
22 |
+
parent::initialize();
|
23 |
+
|
24 |
+
// Provider api end-points
|
25 |
+
$this->api->api_base_url = "http://www.reddit.com/api/v1/";
|
26 |
+
$this->api->authorize_url = "https://ssl.reddit.com/api/v1/authorize";
|
27 |
+
$this->api->token_url = "https://ssl.reddit.com/api/v1/access_token";
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* begin login step
|
32 |
+
*/
|
33 |
+
function loginBegin()
|
34 |
+
{
|
35 |
+
// redirect the user to the provider authentication url
|
36 |
+
Hybrid_Auth::redirect( $this->api->authorizeUrl( array( "scope" => $this->scope, "duration" => "temporary", "state" => str_shuffle("abcdefghijkl123456789") ) ) );
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* finish login step
|
42 |
+
*/
|
43 |
+
function loginFinish()
|
44 |
+
{
|
45 |
+
$error = (array_key_exists('error',$_REQUEST))?$_REQUEST['error']:"";
|
46 |
+
|
47 |
+
// check for errors
|
48 |
+
if ( $error ){
|
49 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 );
|
50 |
+
}
|
51 |
+
|
52 |
+
// try to authenticate user
|
53 |
+
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
54 |
+
|
55 |
+
try{
|
56 |
+
$this->authenticate( $code );
|
57 |
+
}
|
58 |
+
catch( Exception $e ){
|
59 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 );
|
60 |
+
}
|
61 |
+
|
62 |
+
// check if authenticated
|
63 |
+
if ( ! $this->api->access_token ){
|
64 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
65 |
+
}
|
66 |
+
|
67 |
+
// store tokens
|
68 |
+
$this->token( "access_token" , $this->api->access_token );
|
69 |
+
$this->token( "refresh_token", $this->api->refresh_token );
|
70 |
+
$this->token( "expires_in" , $this->api->access_token_expires_in );
|
71 |
+
$this->token( "expires_at" , $this->api->access_token_expires_at );
|
72 |
+
|
73 |
+
// set user connected locally
|
74 |
+
$this->setUserConnected();
|
75 |
+
}
|
76 |
+
|
77 |
+
function authenticate( $code )
|
78 |
+
{
|
79 |
+
$params = array(
|
80 |
+
"client_id" => $this->api->client_id,
|
81 |
+
"grant_type" => "authorization_code",
|
82 |
+
"redirect_uri" => $this->api->redirect_uri,
|
83 |
+
"code" => $code
|
84 |
+
);
|
85 |
+
|
86 |
+
$http_headers = array();
|
87 |
+
$http_headers['Authorization'] = 'Basic ' . base64_encode( $this->api->client_id . ':' . $this->api->client_secret);
|
88 |
+
|
89 |
+
$response = $this->request( $this->api->token_url, http_build_query($params, '', '&'), 'POST', $http_headers );
|
90 |
+
|
91 |
+
$response = $this->parseRequestResult( $response );
|
92 |
+
|
93 |
+
if( ! $response || ! isset( $response->access_token ) ){
|
94 |
+
throw new Exception( "The Authorization Service has return: " . $response->error );
|
95 |
+
}
|
96 |
+
|
97 |
+
if( isset( $response->access_token ) ) $this->api->access_token = $response->access_token;
|
98 |
+
if( isset( $response->refresh_token ) ) $this->api->refresh_token = $response->refresh_token;
|
99 |
+
if( isset( $response->expires_in ) ) $this->api->access_token_expires_in = $response->expires_in;
|
100 |
+
|
101 |
+
// calculate when the access token expire
|
102 |
+
if( isset( $response->expires_in ) ) {
|
103 |
+
$this->api->access_token_expires_at = time() + $response->expires_in;
|
104 |
+
}
|
105 |
+
else {
|
106 |
+
$this->api->access_token_expires_at = time() + 3600;
|
107 |
+
}
|
108 |
+
|
109 |
+
return $response;
|
110 |
+
}
|
111 |
+
|
112 |
+
private function request( $url, $params = array(), $type="GET", $http_headers = null )
|
113 |
+
{
|
114 |
+
Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" );
|
115 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", print_r( $params, true ) );
|
116 |
+
|
117 |
+
if( $type == "GET" ){
|
118 |
+
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query($params, '', '&');
|
119 |
+
}
|
120 |
+
|
121 |
+
$this->http_info = array();
|
122 |
+
$ch = curl_init();
|
123 |
+
|
124 |
+
curl_setopt($ch, CURLOPT_URL , $url );
|
125 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
|
126 |
+
curl_setopt($ch, CURLOPT_TIMEOUT , $this->api->curl_time_out );
|
127 |
+
curl_setopt($ch, CURLOPT_USERAGENT , $this->api->curl_useragent );
|
128 |
+
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->api->curl_connect_time_out );
|
129 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->api->curl_ssl_verifypeer );
|
130 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER , $this->api->curl_header );
|
131 |
+
|
132 |
+
if (is_array($http_headers)) {
|
133 |
+
$header = array();
|
134 |
+
foreach($http_headers as $key => $parsed_urlvalue) {
|
135 |
+
$header[] = "$key: $parsed_urlvalue";
|
136 |
+
}
|
137 |
+
|
138 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
|
139 |
+
}
|
140 |
+
else{
|
141 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $this->api->curl_header );
|
142 |
+
}
|
143 |
+
|
144 |
+
if($this->api->curl_proxy){
|
145 |
+
curl_setopt( $ch, CURLOPT_PROXY , $this->api->curl_proxy);
|
146 |
+
}
|
147 |
+
|
148 |
+
if( $type == "POST" ){
|
149 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
150 |
+
if($params) curl_setopt( $ch, CURLOPT_POSTFIELDS, $params );
|
151 |
+
}
|
152 |
+
|
153 |
+
$response = curl_exec($ch);
|
154 |
+
|
155 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request info: ", print_r( curl_getinfo($ch), true ) );
|
156 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request result: ", print_r( $response, true ) );
|
157 |
+
|
158 |
+
$this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
159 |
+
$this->http_info = array_merge($this->http_info, curl_getinfo($ch));
|
160 |
+
|
161 |
+
curl_close ($ch);
|
162 |
+
|
163 |
+
return $response;
|
164 |
+
}
|
165 |
+
|
166 |
+
private function parseRequestResult( $result )
|
167 |
+
{
|
168 |
+
if( json_decode( $result ) ) return json_decode( $result );
|
169 |
+
|
170 |
+
parse_str( $result, $output );
|
171 |
+
|
172 |
+
$result = new StdClass();
|
173 |
+
|
174 |
+
foreach( $output as $k => $v )
|
175 |
+
$result->$k = $v;
|
176 |
+
|
177 |
+
return $result;
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* load the user profile from the IDp api client
|
182 |
+
*
|
183 |
+
* https://github.com/reddit/reddit/wiki/OAuth2
|
184 |
+
* https://github.com/adoy/PHP-OAuth2/blob/master/src/OAuth2/Client.php#L315
|
185 |
+
*/
|
186 |
+
function getUserProfile()
|
187 |
+
{
|
188 |
+
$http_headers = array();
|
189 |
+
$http_headers['Authorization'] = 'Bearer ' . $this->api->access_token;
|
190 |
+
|
191 |
+
$response = $this->request( "https://oauth.reddit.com/api/v1/me.json?access_token=" . $this->api->access_token, false, 'GET', $http_headers );
|
192 |
+
|
193 |
+
$response = $this->parseRequestResult( $response );
|
194 |
+
|
195 |
+
if ( ! $response || ! isset( $response->name ) ){
|
196 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
197 |
+
}
|
198 |
+
|
199 |
+
$this->user->profile->identifier = @ $response->name;
|
200 |
+
$this->user->profile->displayName = @ $response->name;
|
201 |
+
$this->user->profile->profileURL = "https://www.reddit.com/user/" . $this->user->profile->identifier . "/";
|
202 |
+
|
203 |
+
return $this->user->profile;
|
204 |
+
}
|
205 |
+
}
|
hybridauth/Hybrid/Providers/Steam.php
CHANGED
@@ -1,4 +1,15 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Hybrid_Providers_Steam extends Hybrid_Provider_Model_OpenID
|
3 |
{
|
4 |
var $openidIdentifier = "http://steamcommunity.com/openid";
|
@@ -12,9 +23,9 @@ class Hybrid_Providers_Steam extends Hybrid_Provider_Model_OpenID
|
|
12 |
|
13 |
$uid = str_replace( "http://steamcommunity.com/openid/id/", "", $this->user->profile->identifier );
|
14 |
|
15 |
-
if( $uid ){
|
16 |
-
$data =
|
17 |
-
|
18 |
$data = @ new SimpleXMLElement( $data );
|
19 |
|
20 |
if ( ! is_object( $data ) ){
|
@@ -28,7 +39,7 @@ class Hybrid_Providers_Steam extends Hybrid_Provider_Model_OpenID
|
|
28 |
$realname = (string) $data->{'realname'};
|
29 |
|
30 |
if( $realname ){
|
31 |
-
$this->user->profile->
|
32 |
}
|
33 |
|
34 |
$customURL = (string) $data->{'customURL'};
|
@@ -42,18 +53,3 @@ class Hybrid_Providers_Steam extends Hybrid_Provider_Model_OpenID
|
|
42 |
}
|
43 |
}
|
44 |
}
|
45 |
-
|
46 |
-
function curl_gets_url( $curl_url ){
|
47 |
-
$ch = curl_init();
|
48 |
-
$curl_options = array(
|
49 |
-
CURLOPT_URL => $curl_url,
|
50 |
-
CURLOPT_RETURNTRANSFER => true,
|
51 |
-
CURLOPT_FOLLOWLOCATION => true,
|
52 |
-
CURLOPT_MAXREDIRS => 3,
|
53 |
-
CURLOPT_TIMEOUT => 10
|
54 |
-
);
|
55 |
-
curl_setopt_array($ch, $curl_options);
|
56 |
-
$data = curl_exec($ch);
|
57 |
-
|
58 |
-
return $data;
|
59 |
-
}
|
1 |
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Hybrid_Providers_Steam provider adapter based on OpenID protocol
|
10 |
+
*
|
11 |
+
* http://hybridauth.sourceforge.net/userguide/IDProvider_info_Steam.html
|
12 |
+
*/
|
13 |
class Hybrid_Providers_Steam extends Hybrid_Provider_Model_OpenID
|
14 |
{
|
15 |
var $openidIdentifier = "http://steamcommunity.com/openid";
|
23 |
|
24 |
$uid = str_replace( "http://steamcommunity.com/openid/id/", "", $this->user->profile->identifier );
|
25 |
|
26 |
+
if( $uid ){
|
27 |
+
$data = @ file_get_contents( "http://steamcommunity.com/profiles/$uid/?xml=1" );
|
28 |
+
|
29 |
$data = @ new SimpleXMLElement( $data );
|
30 |
|
31 |
if ( ! is_object( $data ) ){
|
39 |
$realname = (string) $data->{'realname'};
|
40 |
|
41 |
if( $realname ){
|
42 |
+
$this->user->profile->firstName = $realname;
|
43 |
}
|
44 |
|
45 |
$customURL = (string) $data->{'customURL'};
|
53 |
}
|
54 |
}
|
55 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hybridauth/Hybrid/Providers/Twitter.php
CHANGED
@@ -17,15 +17,97 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1
|
|
17 |
{
|
18 |
parent::initialize();
|
19 |
|
20 |
-
// Provider api end-points
|
21 |
$this->api->api_base_url = "https://api.twitter.com/1.1/";
|
22 |
$this->api->authorize_url = "https://api.twitter.com/oauth/authenticate";
|
23 |
$this->api->request_token_url = "https://api.twitter.com/oauth/request_token";
|
24 |
$this->api->access_token_url = "https://api.twitter.com/oauth/access_token";
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
$this->api->curl_auth_header = false;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
* load the user profile from the IDp api client
|
31 |
*/
|
@@ -47,7 +129,7 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1
|
|
47 |
$this->user->profile->displayName = (property_exists($response,'screen_name'))?$response->screen_name:"";
|
48 |
$this->user->profile->description = (property_exists($response,'description'))?$response->description:"";
|
49 |
$this->user->profile->firstName = (property_exists($response,'name'))?$response->name:"";
|
50 |
-
$this->user->profile->photoURL = (property_exists($response,'profile_image_url'))
|
51 |
$this->user->profile->profileURL = (property_exists($response,'screen_name'))?("http://twitter.com/".$response->screen_name):"";
|
52 |
$this->user->profile->webSiteURL = (property_exists($response,'url'))?$response->url:"";
|
53 |
$this->user->profile->region = (property_exists($response,'location'))?$response->location:"";
|
@@ -104,19 +186,42 @@ class Hybrid_Providers_Twitter extends Hybrid_Provider_Model_OAuth1
|
|
104 |
return $contacts;
|
105 |
}
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
-
*
|
109 |
-
*/
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
-
// check the last HTTP status code returned
|
116 |
-
if ( $this->api->http_code != 200 ){
|
117 |
-
throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) );
|
118 |
-
}
|
119 |
-
}
|
120 |
|
121 |
/**
|
122 |
* load the user latest activity
|
17 |
{
|
18 |
parent::initialize();
|
19 |
|
20 |
+
// Provider api end-points
|
21 |
$this->api->api_base_url = "https://api.twitter.com/1.1/";
|
22 |
$this->api->authorize_url = "https://api.twitter.com/oauth/authenticate";
|
23 |
$this->api->request_token_url = "https://api.twitter.com/oauth/request_token";
|
24 |
$this->api->access_token_url = "https://api.twitter.com/oauth/access_token";
|
25 |
|
26 |
+
if ( isset( $this->config['api_version'] ) && $this->config['api_version'] ){
|
27 |
+
$this->api->api_base_url = "https://api.twitter.com/{$this->config['api_version']}/";
|
28 |
+
}
|
29 |
+
|
30 |
+
if ( isset( $this->config['authorize'] ) && $this->config['authorize'] ){
|
31 |
+
$this->api->authorize_url = "https://api.twitter.com/oauth/authorize";
|
32 |
+
}
|
33 |
+
|
34 |
$this->api->curl_auth_header = false;
|
35 |
}
|
36 |
|
37 |
+
/**
|
38 |
+
* begin login step
|
39 |
+
*/
|
40 |
+
function loginBegin()
|
41 |
+
{
|
42 |
+
// Initiate the Reverse Auth flow; cf. https://dev.twitter.com/docs/ios/using-reverse-auth
|
43 |
+
if (isset($_REQUEST['reverse_auth']) && ($_REQUEST['reverse_auth'] == 'yes')){
|
44 |
+
$stage1 = $this->api->signedRequest( $this->api->request_token_url, 'POST', array( 'x_auth_mode' => 'reverse_auth' ) );
|
45 |
+
if ( $this->api->http_code != 200 ){
|
46 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 );
|
47 |
+
}
|
48 |
+
$responseObj = array( 'x_reverse_auth_parameters' => $stage1, 'x_reverse_auth_target' => $this->config["keys"]["key"] );
|
49 |
+
$response = json_encode($responseObj);
|
50 |
+
header( "Content-Type: application/json", true, 200 ) ;
|
51 |
+
echo $response;
|
52 |
+
die();
|
53 |
+
}
|
54 |
+
$tokens = $this->api->requestToken( $this->endpoint );
|
55 |
+
|
56 |
+
// request tokens as received from provider
|
57 |
+
$this->request_tokens_raw = $tokens;
|
58 |
+
|
59 |
+
// check the last HTTP status code returned
|
60 |
+
if ( $this->api->http_code != 200 ){
|
61 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 );
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( ! isset( $tokens["oauth_token"] ) ){
|
65 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid oauth token.", 5 );
|
66 |
+
}
|
67 |
+
|
68 |
+
$this->token( "request_token" , $tokens["oauth_token"] );
|
69 |
+
$this->token( "request_token_secret", $tokens["oauth_token_secret"] );
|
70 |
+
|
71 |
+
// redirect the user to the provider authentication url with force_login
|
72 |
+
if ( ( isset( $this->config['force_login'] ) && $this->config['force_login'] ) || ( isset( $this->config[ 'force' ] ) && $this->config[ 'force' ] === true ) ){
|
73 |
+
Hybrid_Auth::redirect( $this->api->authorizeUrl( $tokens, array( 'force_login' => true ) ) );
|
74 |
+
}
|
75 |
+
|
76 |
+
// else, redirect the user to the provider authentication url
|
77 |
+
Hybrid_Auth::redirect( $this->api->authorizeUrl( $tokens ) );
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* finish login step
|
82 |
+
*/
|
83 |
+
function loginFinish()
|
84 |
+
{
|
85 |
+
// in case we are completing a Reverse Auth flow; cf. https://dev.twitter.com/docs/ios/using-reverse-auth
|
86 |
+
if(isset($_REQUEST['oauth_token_secret'])){
|
87 |
+
$tokens = $_REQUEST;
|
88 |
+
$this->access_tokens_raw = $tokens;
|
89 |
+
|
90 |
+
// we should have an access_token unless something has gone wrong
|
91 |
+
if ( ! isset( $tokens["oauth_token"] ) ){
|
92 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
93 |
+
}
|
94 |
+
|
95 |
+
// Get rid of tokens we don't need
|
96 |
+
$this->deleteToken( "request_token" );
|
97 |
+
$this->deleteToken( "request_token_secret" );
|
98 |
+
|
99 |
+
// Store access_token and secret for later use
|
100 |
+
$this->token( "access_token" , $tokens['oauth_token'] );
|
101 |
+
$this->token( "access_token_secret" , $tokens['oauth_token_secret'] );
|
102 |
+
|
103 |
+
// set user as logged in to the current provider
|
104 |
+
$this->setUserConnected();
|
105 |
+
return;
|
106 |
+
}
|
107 |
+
parent::loginFinish();
|
108 |
+
}
|
109 |
+
|
110 |
+
|
111 |
/**
|
112 |
* load the user profile from the IDp api client
|
113 |
*/
|
129 |
$this->user->profile->displayName = (property_exists($response,'screen_name'))?$response->screen_name:"";
|
130 |
$this->user->profile->description = (property_exists($response,'description'))?$response->description:"";
|
131 |
$this->user->profile->firstName = (property_exists($response,'name'))?$response->name:"";
|
132 |
+
$this->user->profile->photoURL = (property_exists($response,'profile_image_url'))?(str_replace('_normal', '', $response->profile_image_url)):"";
|
133 |
$this->user->profile->profileURL = (property_exists($response,'screen_name'))?("http://twitter.com/".$response->screen_name):"";
|
134 |
$this->user->profile->webSiteURL = (property_exists($response,'url'))?$response->url:"";
|
135 |
$this->user->profile->region = (property_exists($response,'location'))?$response->location:"";
|
186 |
return $contacts;
|
187 |
}
|
188 |
|
189 |
+
/**
|
190 |
+
* update user status
|
191 |
+
*/
|
192 |
+
function setUserStatus( $status )
|
193 |
+
{
|
194 |
+
|
195 |
+
if( is_array( $status ) && isset( $status[ 'message' ] ) && isset( $status[ 'picture' ] ) ){
|
196 |
+
$response = $this->api->post( 'statuses/update_with_media.json', array( 'status' => $status[ 'message' ], 'media[]' => file_get_contents( $status[ 'picture' ] ) ), null, null, true );
|
197 |
+
}else{
|
198 |
+
$response = $this->api->post( 'statuses/update.json', array( 'status' => $status ) );
|
199 |
+
}
|
200 |
+
|
201 |
+
// check the last HTTP status code returned
|
202 |
+
if ( $this->api->http_code != 200 ){
|
203 |
+
throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) );
|
204 |
+
}
|
205 |
+
|
206 |
+
return $response;
|
207 |
+
}
|
208 |
+
|
209 |
+
|
210 |
/**
|
211 |
+
* get user status
|
212 |
+
*/
|
213 |
+
function getUserStatus( $tweetid )
|
214 |
+
{
|
215 |
+
$info = $this->api->get( 'statuses/show.json?id=' . $tweetid . '&include_entities=true' );
|
216 |
+
|
217 |
+
// check the last HTTP status code returned
|
218 |
+
if ( $this->api->http_code != 200 || !isset( $info->id ) ){
|
219 |
+
throw new Exception( "Cannot retrieve user status! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) );
|
220 |
+
}
|
221 |
+
|
222 |
+
return $info;
|
223 |
+
}
|
224 |
|
|
|
|
|
|
|
|
|
|
|
225 |
|
226 |
/**
|
227 |
* load the user latest activity
|
hybridauth/Hybrid/Providers/Vkontakte.php
CHANGED
@@ -35,10 +35,10 @@ class Hybrid_Providers_Vkontakte extends Hybrid_Provider_Model_OAuth2
|
|
35 |
|
36 |
// check for errors
|
37 |
if ( $error ){
|
38 |
-
throw new Exception( "
|
39 |
}
|
40 |
|
41 |
-
// try to
|
42 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
43 |
|
44 |
try{
|
@@ -50,7 +50,7 @@ class Hybrid_Providers_Vkontakte extends Hybrid_Provider_Model_OAuth2
|
|
50 |
|
51 |
// check if authenticated
|
52 |
if ( !property_exists($response,'user_id') || ! $this->api->access_token ){
|
53 |
-
throw new Exception( "
|
54 |
}
|
55 |
|
56 |
// store tokens
|
@@ -76,21 +76,21 @@ class Hybrid_Providers_Vkontakte extends Hybrid_Provider_Model_OAuth2
|
|
76 |
|
77 |
// Vkontakte requires user id, not just token for api access
|
78 |
$params['uid'] = Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.user_id" );
|
79 |
-
$params['fields'] = 'first_name,last_name,nickname,screen_name,sex,bdate,timezone,photo_rec,
|
80 |
// ask vkontakte api for user infos
|
81 |
$response = $this->api->api( "https://api.vk.com/method/getProfiles" , 'GET', $params);
|
82 |
|
83 |
|
84 |
if (!isset( $response->response[0] ) || !isset( $response->response[0]->uid ) || isset( $response->error ) ){
|
85 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
86 |
}
|
87 |
|
88 |
$response = $response->response[0];
|
89 |
$this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:"";
|
90 |
$this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:"";
|
91 |
$this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:"";
|
92 |
-
$this->user->profile->displayName = (property_exists($response,'
|
93 |
-
$this->user->profile->photoURL = (property_exists($response,'
|
94 |
$this->user->profile->profileURL = (property_exists($response,'screen_name'))?"http://vk.com/" . $response->screen_name:"";
|
95 |
|
96 |
if(property_exists($response,'sex')){
|
@@ -103,7 +103,15 @@ class Hybrid_Providers_Vkontakte extends Hybrid_Provider_Model_OAuth2
|
|
103 |
}
|
104 |
|
105 |
if( property_exists($response,'bdate') ){
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
108 |
$this->user->profile->birthDay = (int) $birthday_day;
|
109 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
@@ -112,4 +120,32 @@ class Hybrid_Providers_Vkontakte extends Hybrid_Provider_Model_OAuth2
|
|
112 |
|
113 |
return $this->user->profile;
|
114 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
35 |
|
36 |
// check for errors
|
37 |
if ( $error ){
|
38 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 );
|
39 |
}
|
40 |
|
41 |
+
// try to authenticate user
|
42 |
$code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:"";
|
43 |
|
44 |
try{
|
50 |
|
51 |
// check if authenticated
|
52 |
if ( !property_exists($response,'user_id') || ! $this->api->access_token ){
|
53 |
+
throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 );
|
54 |
}
|
55 |
|
56 |
// store tokens
|
76 |
|
77 |
// Vkontakte requires user id, not just token for api access
|
78 |
$params['uid'] = Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.user_id" );
|
79 |
+
$params['fields'] = 'first_name,last_name,nickname,screen_name,sex,bdate,timezone,photo_rec,photo_medium';
|
80 |
// ask vkontakte api for user infos
|
81 |
$response = $this->api->api( "https://api.vk.com/method/getProfiles" , 'GET', $params);
|
82 |
|
83 |
|
84 |
if (!isset( $response->response[0] ) || !isset( $response->response[0]->uid ) || isset( $response->error ) ){
|
85 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
86 |
}
|
87 |
|
88 |
$response = $response->response[0];
|
89 |
$this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:"";
|
90 |
$this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:"";
|
91 |
$this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:"";
|
92 |
+
$this->user->profile->displayName = (property_exists($response,'screen_name'))?$response->screen_name:"";
|
93 |
+
$this->user->profile->photoURL = (property_exists($response,'photo_medium'))?$response->photo_medium:"";
|
94 |
$this->user->profile->profileURL = (property_exists($response,'screen_name'))?"http://vk.com/" . $response->screen_name:"";
|
95 |
|
96 |
if(property_exists($response,'sex')){
|
103 |
}
|
104 |
|
105 |
if( property_exists($response,'bdate') ){
|
106 |
+
|
107 |
+
$birthday = explode('.', $response->bdate);
|
108 |
+
|
109 |
+
if (count($birthday) === 3) {
|
110 |
+
list($birthday_year, $birthday_month, $birthday_day) = $birthday;
|
111 |
+
} else {
|
112 |
+
$birthday_year = date('Y');
|
113 |
+
list($birthday_month, $birthday_day) = $birthday;
|
114 |
+
}
|
115 |
|
116 |
$this->user->profile->birthDay = (int) $birthday_day;
|
117 |
$this->user->profile->birthMonth = (int) $birthday_month;
|
120 |
|
121 |
return $this->user->profile;
|
122 |
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* load the user contacts
|
126 |
+
*/
|
127 |
+
function getUserContacts()
|
128 |
+
{
|
129 |
+
$params=array(
|
130 |
+
'fields' => 'nickname, domain, sex, bdate, city, country, timezone, photo_200_orig'
|
131 |
+
);
|
132 |
+
|
133 |
+
$response = $this->api->api('https://api.vk.com/method/friends.get','GET',$params);
|
134 |
+
|
135 |
+
if(!$response || !count($response->response)){
|
136 |
+
return array();
|
137 |
+
}
|
138 |
+
|
139 |
+
$contacts = array();
|
140 |
+
foreach( $response->response as $item ){
|
141 |
+
$uc = new Hybrid_User_Contact();
|
142 |
+
$uc->identifier = $item->uid;
|
143 |
+
$uc->displayName = $item->first_name.' '.$item->last_name;
|
144 |
+
$uc->profileURL = 'http://vk.com/'.$item->domain;
|
145 |
+
$uc->photoURL = $item->photo_200_orig;
|
146 |
+
$contacts[] = $uc;
|
147 |
+
}
|
148 |
+
|
149 |
+
return $contacts;
|
150 |
+
}
|
151 |
}
|
hybridauth/Hybrid/Providers/Yahoo.php
CHANGED
@@ -14,18 +14,18 @@
|
|
14 |
*/
|
15 |
class Hybrid_Providers_Yahoo extends Hybrid_Provider_Model_OpenID
|
16 |
{
|
17 |
-
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
|
26 |
-
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
}
|
14 |
*/
|
15 |
class Hybrid_Providers_Yahoo extends Hybrid_Provider_Model_OpenID
|
16 |
{
|
17 |
+
var $openidIdentifier = "https://open.login.yahooapis.com/openid20/www.yahoo.com/xrds";
|
18 |
|
19 |
+
/**
|
20 |
+
* finish login step
|
21 |
+
*/
|
22 |
+
function loginFinish()
|
23 |
+
{
|
24 |
+
parent::loginFinish();
|
25 |
|
26 |
+
$this->user->profile->emailVerified = $this->user->profile->email;
|
27 |
|
28 |
+
// restore the user profile
|
29 |
+
Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user );
|
30 |
+
}
|
31 |
}
|
hybridauth/Hybrid/Providers/Yandex.php
CHANGED
@@ -35,7 +35,7 @@ class Hybrid_Providers_Yandex extends Hybrid_Provider_Model_OAuth2
|
|
35 |
{
|
36 |
$response = $this->api->api( "?format=json" );
|
37 |
if ( ! isset( $response->id ) ){
|
38 |
-
throw new Exception( "User profile request failed! {$this->providerId} returned an
|
39 |
}
|
40 |
|
41 |
$this->user->profile->identifier = (property_exists($response,'id'))?$response->id:"";
|
@@ -48,7 +48,7 @@ class Hybrid_Providers_Yandex extends Hybrid_Provider_Model_OAuth2
|
|
48 |
$this->user->profile->email = (property_exists($response,'default_email'))?$response->default_email:"";
|
49 |
$this->user->profile->emailVerified = (property_exists($response,'default_email'))?$response->default_email:"";
|
50 |
|
51 |
-
if( property_exists($response,'birthday') ){
|
52 |
list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday );
|
53 |
|
54 |
$this->user->profile->birthDay = (int) $birthday_day;
|
@@ -58,4 +58,4 @@ class Hybrid_Providers_Yandex extends Hybrid_Provider_Model_OAuth2
|
|
58 |
|
59 |
return $this->user->profile;
|
60 |
}
|
61 |
-
}
|
35 |
{
|
36 |
$response = $this->api->api( "?format=json" );
|
37 |
if ( ! isset( $response->id ) ){
|
38 |
+
throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
|
39 |
}
|
40 |
|
41 |
$this->user->profile->identifier = (property_exists($response,'id'))?$response->id:"";
|
48 |
$this->user->profile->email = (property_exists($response,'default_email'))?$response->default_email:"";
|
49 |
$this->user->profile->emailVerified = (property_exists($response,'default_email'))?$response->default_email:"";
|
50 |
|
51 |
+
if( property_exists($response,'birthday') && ! empty($response->birthday) ){
|
52 |
list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday );
|
53 |
|
54 |
$this->user->profile->birthDay = (int) $birthday_day;
|
58 |
|
59 |
return $this->user->profile;
|
60 |
}
|
61 |
+
}
|
hybridauth/Hybrid/Storage.php
CHANGED
@@ -1,15 +1,20 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
|
|
|
|
8 |
/**
|
9 |
* HybridAuth storage manager
|
10 |
*/
|
11 |
-
class Hybrid_Storage
|
12 |
{
|
|
|
|
|
|
|
13 |
function __construct()
|
14 |
{
|
15 |
if ( ! session_id() ){
|
@@ -21,8 +26,13 @@ class Hybrid_Storage
|
|
21 |
$this->config( "php_session_id", session_id() );
|
22 |
$this->config( "version", Hybrid_Auth::$version );
|
23 |
}
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
26 |
{
|
27 |
$key = strtolower( $key );
|
28 |
|
@@ -35,7 +45,11 @@ class Hybrid_Storage
|
|
35 |
|
36 |
return NULL;
|
37 |
}
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
public function get($key)
|
40 |
{
|
41 |
$key = strtolower( $key );
|
@@ -46,41 +60,66 @@ class Hybrid_Storage
|
|
46 |
|
47 |
return NULL;
|
48 |
}
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
50 |
public function set( $key, $value )
|
51 |
{
|
52 |
-
$key = strtolower( $key );
|
53 |
|
54 |
-
$_SESSION["HA::STORE"][$key] = serialize( $value );
|
55 |
}
|
56 |
-
|
|
|
|
|
|
|
57 |
function clear()
|
58 |
{
|
59 |
$_SESSION["HA::STORE"] = ARRAY();
|
60 |
-
}
|
61 |
-
|
|
|
|
|
|
|
|
|
62 |
function delete($key)
|
63 |
{
|
64 |
$key = strtolower( $key );
|
65 |
|
66 |
if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){
|
67 |
-
|
|
|
|
|
68 |
}
|
69 |
}
|
70 |
-
|
|
|
|
|
|
|
|
|
71 |
function deleteMatch($key)
|
72 |
{
|
73 |
$key = strtolower( $key );
|
74 |
|
75 |
if( isset( $_SESSION["HA::STORE"] ) && count( $_SESSION["HA::STORE"] ) ) {
|
76 |
-
|
|
|
77 |
if( strstr( $k, $key ) ){
|
78 |
-
unset( $
|
79 |
}
|
80 |
}
|
|
|
|
|
81 |
}
|
82 |
}
|
83 |
-
|
|
|
|
|
|
|
|
|
84 |
function getSessionData()
|
85 |
{
|
86 |
if( isset( $_SESSION["HA::STORE"] ) ){
|
@@ -89,7 +128,11 @@ class Hybrid_Storage
|
|
89 |
|
90 |
return NULL;
|
91 |
}
|
92 |
-
|
|
|
|
|
|
|
|
|
93 |
function restoreSessionData( $sessiondata = NULL )
|
94 |
{
|
95 |
$_SESSION["HA::STORE"] = unserialize( $sessiondata );
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
+
require_once realpath( dirname( __FILE__ ) ) . "/StorageInterface.php";
|
9 |
+
|
10 |
/**
|
11 |
* HybridAuth storage manager
|
12 |
*/
|
13 |
+
class Hybrid_Storage implements Hybrid_Storage_Interface
|
14 |
{
|
15 |
+
/**
|
16 |
+
* Constructor
|
17 |
+
*/
|
18 |
function __construct()
|
19 |
{
|
20 |
if ( ! session_id() ){
|
26 |
$this->config( "php_session_id", session_id() );
|
27 |
$this->config( "version", Hybrid_Auth::$version );
|
28 |
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Config
|
32 |
+
* @param String $key
|
33 |
+
* @param String $value
|
34 |
+
*/
|
35 |
+
public function config($key, $value = null)
|
36 |
{
|
37 |
$key = strtolower( $key );
|
38 |
|
45 |
|
46 |
return NULL;
|
47 |
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get a key
|
51 |
+
* @param String $key
|
52 |
+
*/
|
53 |
public function get($key)
|
54 |
{
|
55 |
$key = strtolower( $key );
|
60 |
|
61 |
return NULL;
|
62 |
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* GEt a set of key and value
|
66 |
+
* @param String $key
|
67 |
+
* @param String $value
|
68 |
+
*/
|
69 |
public function set( $key, $value )
|
70 |
{
|
71 |
+
$key = strtolower( $key );
|
72 |
|
73 |
+
$_SESSION["HA::STORE"][$key] = serialize( $value );
|
74 |
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Clear session storage
|
78 |
+
*/
|
79 |
function clear()
|
80 |
{
|
81 |
$_SESSION["HA::STORE"] = ARRAY();
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Delete a specific key
|
86 |
+
* @param String $key
|
87 |
+
*/
|
88 |
function delete($key)
|
89 |
{
|
90 |
$key = strtolower( $key );
|
91 |
|
92 |
if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){
|
93 |
+
$f = $_SESSION['HA::STORE'];
|
94 |
+
unset($f[$key]);
|
95 |
+
$_SESSION["HA::STORE"] = $f;
|
96 |
}
|
97 |
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Delete a set
|
101 |
+
* @param String $key
|
102 |
+
*/
|
103 |
function deleteMatch($key)
|
104 |
{
|
105 |
$key = strtolower( $key );
|
106 |
|
107 |
if( isset( $_SESSION["HA::STORE"] ) && count( $_SESSION["HA::STORE"] ) ) {
|
108 |
+
$f = $_SESSION['HA::STORE'];
|
109 |
+
foreach( $f as $k => $v ){
|
110 |
if( strstr( $k, $key ) ){
|
111 |
+
unset( $f[ $k ] );
|
112 |
}
|
113 |
}
|
114 |
+
$_SESSION["HA::STORE"] = $f;
|
115 |
+
|
116 |
}
|
117 |
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Get the storage session data into an array
|
121 |
+
* @return Array
|
122 |
+
*/
|
123 |
function getSessionData()
|
124 |
{
|
125 |
if( isset( $_SESSION["HA::STORE"] ) ){
|
128 |
|
129 |
return NULL;
|
130 |
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Restore the storage back into session from an array
|
134 |
+
* @param Array $sessiondata
|
135 |
+
*/
|
136 |
function restoreSessionData( $sessiondata = NULL )
|
137 |
{
|
138 |
$_SESSION["HA::STORE"] = unserialize( $sessiondata );
|
hybridauth/Hybrid/StorageInterface.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* HybridAuth storage manager interface
|
10 |
+
*/
|
11 |
+
interface Hybrid_Storage_Interface
|
12 |
+
{
|
13 |
+
public function config($key, $value);
|
14 |
+
|
15 |
+
public function get($key);
|
16 |
+
|
17 |
+
public function set( $key, $value );
|
18 |
+
|
19 |
+
function clear();
|
20 |
+
|
21 |
+
function delete($key);
|
22 |
+
|
23 |
+
function deleteMatch($key);
|
24 |
+
|
25 |
+
function getSessionData();
|
26 |
+
|
27 |
+
function restoreSessionData( $sessiondata);
|
28 |
+
}
|
hybridauth/Hybrid/User.php
CHANGED
@@ -1,26 +1,35 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
-
* The Hybrid_User class represents the current
|
10 |
*/
|
11 |
class Hybrid_User
|
12 |
{
|
13 |
-
|
|
|
|
|
|
|
14 |
public $providerId = NULL;
|
15 |
|
16 |
-
|
|
|
|
|
|
|
17 |
public $timestamp = NULL;
|
18 |
|
19 |
-
|
|
|
|
|
|
|
20 |
public $profile = NULL;
|
21 |
|
22 |
/**
|
23 |
-
*
|
24 |
*/
|
25 |
function __construct()
|
26 |
{
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
9 |
+
* The Hybrid_User class represents the current logged in user
|
10 |
*/
|
11 |
class Hybrid_User
|
12 |
{
|
13 |
+
/**
|
14 |
+
* The ID (name) of the connected provider
|
15 |
+
* @var Numeric/String
|
16 |
+
*/
|
17 |
public $providerId = NULL;
|
18 |
|
19 |
+
/**
|
20 |
+
* timestamp connection to the provider
|
21 |
+
* @var timestamp
|
22 |
+
*/
|
23 |
public $timestamp = NULL;
|
24 |
|
25 |
+
/**
|
26 |
+
* User profile, contains the list of fields available in the normalized user profile structure used by HybridAuth.
|
27 |
+
* @var object
|
28 |
+
*/
|
29 |
public $profile = NULL;
|
30 |
|
31 |
/**
|
32 |
+
* Initialize the user object.
|
33 |
*/
|
34 |
function __construct()
|
35 |
{
|
hybridauth/Hybrid/User_Activity.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -14,18 +14,33 @@
|
|
14 |
*/
|
15 |
class Hybrid_User_Activity
|
16 |
{
|
17 |
-
|
|
|
|
|
|
|
18 |
public $id = NULL;
|
19 |
|
20 |
-
|
|
|
|
|
|
|
21 |
public $date = NULL;
|
22 |
|
23 |
-
|
|
|
|
|
|
|
24 |
public $text = NULL;
|
25 |
|
26 |
-
|
|
|
|
|
|
|
27 |
public $user = NULL;
|
28 |
-
|
|
|
|
|
|
|
29 |
public function __construct()
|
30 |
{
|
31 |
$this->user = new stdClass();
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
14 |
*/
|
15 |
class Hybrid_User_Activity
|
16 |
{
|
17 |
+
/**
|
18 |
+
* activity id on the provider side, usually given as integer
|
19 |
+
* @var Numeric/String
|
20 |
+
*/
|
21 |
public $id = NULL;
|
22 |
|
23 |
+
/**
|
24 |
+
* activity date of creation
|
25 |
+
* @var timestamp
|
26 |
+
*/
|
27 |
public $date = NULL;
|
28 |
|
29 |
+
/**
|
30 |
+
* activity content as a string
|
31 |
+
* @var String
|
32 |
+
*/
|
33 |
public $text = NULL;
|
34 |
|
35 |
+
/**
|
36 |
+
* user who created the activity
|
37 |
+
* @var object
|
38 |
+
*/
|
39 |
public $user = NULL;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Constructor
|
43 |
+
*/
|
44 |
public function __construct()
|
45 |
{
|
46 |
$this->user = new stdClass();
|
hybridauth/Hybrid/User_Contact.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -14,24 +14,45 @@
|
|
14 |
*/
|
15 |
class Hybrid_User_Contact
|
16 |
{
|
17 |
-
|
|
|
|
|
|
|
18 |
public $identifier = NULL;
|
19 |
|
20 |
-
|
|
|
|
|
|
|
21 |
public $webSiteURL = NULL;
|
22 |
|
23 |
-
|
|
|
|
|
|
|
24 |
public $profileURL = NULL;
|
25 |
|
26 |
-
|
|
|
|
|
|
|
27 |
public $photoURL = NULL;
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
31 |
|
32 |
-
|
|
|
|
|
|
|
33 |
public $description = NULL;
|
34 |
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
37 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
14 |
*/
|
15 |
class Hybrid_User_Contact
|
16 |
{
|
17 |
+
/**
|
18 |
+
* The Unique contact user ID
|
19 |
+
* @var Numeric
|
20 |
+
*/
|
21 |
public $identifier = NULL;
|
22 |
|
23 |
+
/**
|
24 |
+
* User website, blog, web page
|
25 |
+
* @var String
|
26 |
+
*/
|
27 |
public $webSiteURL = NULL;
|
28 |
|
29 |
+
/**
|
30 |
+
* URL link to profile page on the IDp web site
|
31 |
+
* @var String
|
32 |
+
*/
|
33 |
public $profileURL = NULL;
|
34 |
|
35 |
+
/**
|
36 |
+
* URL link to user photo or avatar
|
37 |
+
* @var String
|
38 |
+
*/
|
39 |
public $photoURL = NULL;
|
40 |
|
41 |
+
/**
|
42 |
+
* User displayName provided by the IDp or a concatenation of first and last name
|
43 |
+
* @var String
|
44 |
+
*/
|
45 |
+
public $displayName = NULL;
|
46 |
|
47 |
+
/**
|
48 |
+
* A short about_me
|
49 |
+
* @var String
|
50 |
+
*/
|
51 |
public $description = NULL;
|
52 |
|
53 |
+
/**
|
54 |
+
* User email. Not all of IDp grant access to the user email
|
55 |
+
* @var String
|
56 |
+
*/
|
57 |
+
public $email = NULL;
|
58 |
}
|
hybridauth/Hybrid/User_Profile.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
/**
|
@@ -16,69 +16,135 @@
|
|
16 |
*/
|
17 |
class Hybrid_User_Profile
|
18 |
{
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
public $birthDay = NULL;
|
54 |
|
55 |
-
|
|
|
|
|
|
|
56 |
public $birthMonth = NULL;
|
57 |
|
58 |
-
|
|
|
|
|
|
|
59 |
public $birthYear = NULL;
|
60 |
|
61 |
-
|
|
|
|
|
|
|
62 |
public $email = NULL;
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
/**
|
16 |
*/
|
17 |
class Hybrid_User_Profile
|
18 |
{
|
19 |
+
/**
|
20 |
+
* The Unique user's ID on the connected provider
|
21 |
+
* @var Numeric
|
22 |
+
*/
|
23 |
+
public $identifier = NULL;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* User website, blog, web page
|
27 |
+
* @var String
|
28 |
+
*/
|
29 |
+
public $webSiteURL = NULL;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* URL link to profile page on the IDp web site
|
33 |
+
* @var String
|
34 |
+
*/
|
35 |
+
public $profileURL = NULL;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* URL link to user photo or avatar
|
39 |
+
* @var String
|
40 |
+
*/
|
41 |
+
public $photoURL = NULL;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* User displayName provided by the IDp or a concatenation of first and last name.
|
45 |
+
* @var String
|
46 |
+
*/
|
47 |
+
public $displayName = NULL;
|
48 |
+
|
49 |
+
/**
|
50 |
+
* A short about_me
|
51 |
+
* @var String
|
52 |
+
*/
|
53 |
+
public $description = NULL;
|
54 |
+
|
55 |
+
/**
|
56 |
+
* User's first name
|
57 |
+
* @var String
|
58 |
+
*/
|
59 |
+
public $firstName = NULL;
|
60 |
+
|
61 |
+
/**
|
62 |
+
* User's last name
|
63 |
+
* @var String
|
64 |
+
*/
|
65 |
+
public $lastName = NULL;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* male or female
|
69 |
+
* @var String
|
70 |
+
*/
|
71 |
+
public $gender = NULL;
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Language
|
75 |
+
* @var String
|
76 |
+
*/
|
77 |
+
public $language = NULL;
|
78 |
+
|
79 |
+
/**
|
80 |
+
* User age, we don't calculate it. we return it as is if the IDp provide it.
|
81 |
+
* @var Numeric
|
82 |
+
*/
|
83 |
+
public $age = NULL;
|
84 |
+
|
85 |
+
/**
|
86 |
+
* User birth Day
|
87 |
+
* @var Numeric
|
88 |
+
*/
|
89 |
public $birthDay = NULL;
|
90 |
|
91 |
+
/**
|
92 |
+
* User birth Month
|
93 |
+
* @var Numeric/String
|
94 |
+
*/
|
95 |
public $birthMonth = NULL;
|
96 |
|
97 |
+
/**
|
98 |
+
* User birth Year
|
99 |
+
* @var Numeric
|
100 |
+
*/
|
101 |
public $birthYear = NULL;
|
102 |
|
103 |
+
/**
|
104 |
+
* User email. Note: not all of IDp grant access to the user email
|
105 |
+
* @var String
|
106 |
+
*/
|
107 |
public $email = NULL;
|
108 |
|
109 |
+
/**
|
110 |
+
* Verified user email. Note: not all of IDp grant access to verified user email
|
111 |
+
* @var String
|
112 |
+
*/
|
113 |
+
public $emailVerified = NULL;
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Phone number
|
117 |
+
* @var String
|
118 |
+
*/
|
119 |
+
public $phone = NULL;
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Complete user address
|
123 |
+
* @var String
|
124 |
+
*/
|
125 |
+
public $address = NULL;
|
126 |
+
|
127 |
+
/**
|
128 |
+
* User country
|
129 |
+
* @var String
|
130 |
+
*/
|
131 |
+
public $country = NULL;
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Region
|
135 |
+
* @var String
|
136 |
+
*/
|
137 |
+
public $region = NULL;
|
138 |
+
|
139 |
+
/**
|
140 |
+
* City
|
141 |
+
* @var String
|
142 |
+
*/
|
143 |
+
public $city = NULL;
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Postal code
|
147 |
+
* @var String
|
148 |
+
*/
|
149 |
+
public $zip = NULL;
|
150 |
}
|
hybridauth/Hybrid/resources/config.php.tpl
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
// ----------------------------------------------------------------------------------------
|
9 |
+
// HybridAuth Config file: http://hybridauth.sourceforge.net/userguide/Configuration.html
|
10 |
+
// ----------------------------------------------------------------------------------------
|
11 |
+
|
12 |
+
return
|
13 |
+
array(
|
14 |
+
"base_url" => "#GLOBAL_HYBRID_AUTH_URL_BASE#",
|
15 |
+
|
16 |
+
"providers" => array (
|
17 |
+
// openid providers
|
18 |
+
"OpenID" => array (
|
19 |
+
"enabled" => #OPENID_ADAPTER_STATUS#
|
20 |
+
),
|
21 |
+
|
22 |
+
"AOL" => array (
|
23 |
+
"enabled" => #AOL_ADAPTER_STATUS#
|
24 |
+
),
|
25 |
+
|
26 |
+
"Yahoo" => array (
|
27 |
+
"enabled" => #YAHOO_ADAPTER_STATUS#,
|
28 |
+
"keys" => array ( "id" => "#YAHOO_APPLICATION_APP_ID#", "secret" => "#YAHOO_APPLICATION_SECRET#" )
|
29 |
+
),
|
30 |
+
|
31 |
+
"Google" => array (
|
32 |
+
"enabled" => #GOOGLE_ADAPTER_STATUS#,
|
33 |
+
"keys" => array ( "id" => "#GOOGLE_APPLICATION_APP_ID#", "secret" => "#GOOGLE_APPLICATION_SECRET#" )
|
34 |
+
),
|
35 |
+
|
36 |
+
"Facebook" => array (
|
37 |
+
"enabled" => #FACEBOOK_ADAPTER_STATUS#,
|
38 |
+
"keys" => array ( "id" => "#FACEBOOK_APPLICATION_APP_ID#", "secret" => "#FACEBOOK_APPLICATION_SECRET#" )
|
39 |
+
),
|
40 |
+
|
41 |
+
"Twitter" => array (
|
42 |
+
"enabled" => #TWITTER_ADAPTER_STATUS#,
|
43 |
+
"keys" => array ( "key" => "#TWITTER_APPLICATION_KEY#", "secret" => "#TWITTER_APPLICATION_SECRET#" )
|
44 |
+
),
|
45 |
+
|
46 |
+
// windows live
|
47 |
+
"Live" => array (
|
48 |
+
"enabled" => #LIVE_ADAPTER_STATUS#,
|
49 |
+
"keys" => array ( "id" => "#LIVE_APPLICATION_APP_ID#", "secret" => "#LIVE_APPLICATION_SECRET#" )
|
50 |
+
),
|
51 |
+
|
52 |
+
"MySpace" => array (
|
53 |
+
"enabled" => #MYSPACE_ADAPTER_STATUS#,
|
54 |
+
"keys" => array ( "key" => "#MYSPACE_APPLICATION_KEY#", "secret" => "#MYSPACE_APPLICATION_SECRET#" )
|
55 |
+
),
|
56 |
+
|
57 |
+
"LinkedIn" => array (
|
58 |
+
"enabled" => #LINKEDIN_ADAPTER_STATUS#,
|
59 |
+
"keys" => array ( "key" => "#LINKEDIN_APPLICATION_KEY#", "secret" => "#LINKEDIN_APPLICATION_SECRET#" )
|
60 |
+
),
|
61 |
+
|
62 |
+
"Foursquare" => array (
|
63 |
+
"enabled" => #FOURSQUARE_ADAPTER_STATUS#,
|
64 |
+
"keys" => array ( "id" => "#FOURSQUARE_APPLICATION_APP_ID#", "secret" => "#FOURSQUARE_APPLICATION_SECRET#" )
|
65 |
+
),
|
66 |
+
),
|
67 |
+
|
68 |
+
// if you want to enable logging, set 'debug_mode' to true then provide a writable file by the web server on "debug_file"
|
69 |
+
"debug_mode" => false,
|
70 |
+
|
71 |
+
"debug_file" => ""
|
72 |
+
);
|
hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php
CHANGED
@@ -31,6 +31,8 @@ class FacebookApiException extends Exception
|
|
31 |
{
|
32 |
/**
|
33 |
* The result from the API server that represents the exception information.
|
|
|
|
|
34 |
*/
|
35 |
protected $result;
|
36 |
|
@@ -42,7 +44,10 @@ class FacebookApiException extends Exception
|
|
42 |
public function __construct($result) {
|
43 |
$this->result = $result;
|
44 |
|
45 |
-
$code =
|
|
|
|
|
|
|
46 |
|
47 |
if (isset($result['error_description'])) {
|
48 |
// OAuth 2.0 Draft 10 style
|
@@ -120,7 +125,7 @@ abstract class BaseFacebook
|
|
120 |
/**
|
121 |
* Version.
|
122 |
*/
|
123 |
-
const VERSION = '3.2.
|
124 |
|
125 |
/**
|
126 |
* Signed Request Algorithm.
|
@@ -129,17 +134,22 @@ abstract class BaseFacebook
|
|
129 |
|
130 |
/**
|
131 |
* Default options for curl.
|
|
|
|
|
132 |
*/
|
133 |
public static $CURL_OPTS = array(
|
134 |
-
CURLOPT_CONNECTTIMEOUT =>
|
135 |
CURLOPT_RETURNTRANSFER => true,
|
136 |
CURLOPT_TIMEOUT => 60,
|
137 |
CURLOPT_USERAGENT => 'facebook-php-3.2',
|
|
|
138 |
);
|
139 |
|
140 |
/**
|
141 |
* List of query parameters that get automatically dropped when rebuilding
|
142 |
* the current URL.
|
|
|
|
|
143 |
*/
|
144 |
protected static $DROP_QUERY_PARAMS = array(
|
145 |
'code',
|
@@ -149,6 +159,8 @@ abstract class BaseFacebook
|
|
149 |
|
150 |
/**
|
151 |
* Maps aliases to Facebook domains.
|
|
|
|
|
152 |
*/
|
153 |
public static $DOMAIN_MAP = array(
|
154 |
'api' => 'https://api.facebook.com/',
|
@@ -182,11 +194,15 @@ abstract class BaseFacebook
|
|
182 |
|
183 |
/**
|
184 |
* The data from the signed_request token.
|
|
|
|
|
185 |
*/
|
186 |
protected $signedRequest;
|
187 |
|
188 |
/**
|
189 |
* A CSRF state variable to assist in the defense against CSRF attacks.
|
|
|
|
|
190 |
*/
|
191 |
protected $state;
|
192 |
|
@@ -212,6 +228,13 @@ abstract class BaseFacebook
|
|
212 |
*/
|
213 |
protected $trustForwarded = false;
|
214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
/**
|
216 |
* Initialize a Facebook Application.
|
217 |
*
|
@@ -219,6 +242,9 @@ abstract class BaseFacebook
|
|
219 |
* - appId: the application ID
|
220 |
* - secret: the application secret
|
221 |
* - fileUpload: (optional) boolean indicating if file uploads are enabled
|
|
|
|
|
|
|
222 |
*
|
223 |
* @param array $config The application configuration
|
224 |
*/
|
@@ -231,6 +257,10 @@ abstract class BaseFacebook
|
|
231 |
if (isset($config['trustForwarded']) && $config['trustForwarded']) {
|
232 |
$this->trustForwarded = true;
|
233 |
}
|
|
|
|
|
|
|
|
|
234 |
$state = $this->getPersistentData('state');
|
235 |
if (!empty($state)) {
|
236 |
$this->state = $state;
|
@@ -241,6 +271,7 @@ abstract class BaseFacebook
|
|
241 |
* Set the Application ID.
|
242 |
*
|
243 |
* @param string $appId The Application ID
|
|
|
244 |
* @return BaseFacebook
|
245 |
*/
|
246 |
public function setAppId($appId) {
|
@@ -261,8 +292,10 @@ abstract class BaseFacebook
|
|
261 |
* Set the App Secret.
|
262 |
*
|
263 |
* @param string $apiSecret The App Secret
|
|
|
264 |
* @return BaseFacebook
|
265 |
-
* @deprecated
|
|
|
266 |
*/
|
267 |
public function setApiSecret($apiSecret) {
|
268 |
$this->setAppSecret($apiSecret);
|
@@ -273,6 +306,7 @@ abstract class BaseFacebook
|
|
273 |
* Set the App Secret.
|
274 |
*
|
275 |
* @param string $appSecret The App Secret
|
|
|
276 |
* @return BaseFacebook
|
277 |
*/
|
278 |
public function setAppSecret($appSecret) {
|
@@ -284,7 +318,9 @@ abstract class BaseFacebook
|
|
284 |
* Get the App Secret.
|
285 |
*
|
286 |
* @return string the App Secret
|
287 |
-
*
|
|
|
|
|
288 |
*/
|
289 |
public function getApiSecret() {
|
290 |
return $this->getAppSecret();
|
@@ -303,6 +339,7 @@ abstract class BaseFacebook
|
|
303 |
* Set the file upload support status.
|
304 |
*
|
305 |
* @param boolean $fileUploadSupport The file upload support status.
|
|
|
306 |
* @return BaseFacebook
|
307 |
*/
|
308 |
public function setFileUploadSupport($fileUploadSupport) {
|
@@ -320,11 +357,12 @@ abstract class BaseFacebook
|
|
320 |
}
|
321 |
|
322 |
/**
|
323 |
-
* DEPRECATED! Please use getFileUploadSupport instead.
|
324 |
-
*
|
325 |
* Get the file upload support status.
|
326 |
*
|
327 |
* @return boolean true if and only if the server supports file upload.
|
|
|
|
|
|
|
328 |
*/
|
329 |
public function useFileUploadSupport() {
|
330 |
return $this->getFileUploadSupport();
|
@@ -336,6 +374,7 @@ abstract class BaseFacebook
|
|
336 |
* to use it.
|
337 |
*
|
338 |
* @param string $access_token an access token.
|
|
|
339 |
* @return BaseFacebook
|
340 |
*/
|
341 |
public function setAccessToken($access_token) {
|
@@ -488,9 +527,10 @@ abstract class BaseFacebook
|
|
488 |
*/
|
489 |
public function getSignedRequest() {
|
490 |
if (!$this->signedRequest) {
|
491 |
-
if (!empty($_REQUEST['signed_request'])) {
|
492 |
$this->signedRequest = $this->parseSignedRequest(
|
493 |
-
$_REQUEST['signed_request']
|
|
|
494 |
} else if (!empty($_COOKIE[$this->getSignedRequestCookieName()])) {
|
495 |
$this->signedRequest = $this->parseSignedRequest(
|
496 |
$_COOKIE[$this->getSignedRequestCookieName()]);
|
@@ -529,6 +569,11 @@ abstract class BaseFacebook
|
|
529 |
if ($signed_request) {
|
530 |
if (array_key_exists('user_id', $signed_request)) {
|
531 |
$user = $signed_request['user_id'];
|
|
|
|
|
|
|
|
|
|
|
532 |
$this->setPersistentData('user_id', $signed_request['user_id']);
|
533 |
return $user;
|
534 |
}
|
@@ -584,11 +629,15 @@ abstract class BaseFacebook
|
|
584 |
return $this->getUrl(
|
585 |
'www',
|
586 |
'dialog/oauth',
|
587 |
-
array_merge(
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
|
|
|
|
|
|
|
|
592 |
}
|
593 |
|
594 |
/**
|
@@ -614,24 +663,14 @@ abstract class BaseFacebook
|
|
614 |
/**
|
615 |
* Get a login status URL to fetch the status from Facebook.
|
616 |
*
|
617 |
-
* The parameters:
|
618 |
-
* - ok_session: the URL to go to if a session is found
|
619 |
-
* - no_session: the URL to go to if the user is not connected
|
620 |
-
* - no_user: the URL to go to if the user is not signed into facebook
|
621 |
-
*
|
622 |
* @param array $params Provide custom parameters
|
623 |
* @return string The URL for the logout flow
|
624 |
*/
|
625 |
public function getLoginStatusUrl($params=array()) {
|
626 |
-
return $this->
|
627 |
-
'www',
|
628 |
-
'extern/login_status.php',
|
629 |
array_merge(array(
|
630 |
-
'
|
631 |
-
'
|
632 |
-
'no_user' => $this->getCurrentUrl(),
|
633 |
-
'ok_session' => $this->getCurrentUrl(),
|
634 |
-
'session_version' => 3,
|
635 |
), $params)
|
636 |
);
|
637 |
}
|
@@ -664,7 +703,7 @@ abstract class BaseFacebook
|
|
664 |
}
|
665 |
|
666 |
/**
|
667 |
-
* Constructs and returns the name of the
|
668 |
* metadata. The cookie is not set by the BaseFacebook class, but it may be
|
669 |
* set by the JavaScript SDK.
|
670 |
*
|
@@ -683,20 +722,16 @@ abstract class BaseFacebook
|
|
683 |
* code could not be determined.
|
684 |
*/
|
685 |
protected function getCode() {
|
686 |
-
if (isset($_REQUEST['code'])) {
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
// CSRF state has done its job, so clear it
|
692 |
$this->state = null;
|
693 |
$this->clearPersistentData('state');
|
694 |
return $_REQUEST['code'];
|
695 |
-
} else {
|
696 |
-
self::errorLog('CSRF state token does not match one provided.');
|
697 |
-
return false;
|
698 |
-
}
|
699 |
}
|
|
|
700 |
|
701 |
return false;
|
702 |
}
|
@@ -727,7 +762,7 @@ abstract class BaseFacebook
|
|
727 |
* @return string The application access token, useful for gathering
|
728 |
* public information about users and applications.
|
729 |
*/
|
730 |
-
|
731 |
return $this->appId.'|'.$this->appSecret;
|
732 |
}
|
733 |
|
@@ -752,6 +787,8 @@ abstract class BaseFacebook
|
|
752 |
* either logged in to Facebook or has granted an offline access permission.
|
753 |
*
|
754 |
* @param string $code An authorization code.
|
|
|
|
|
755 |
* @return mixed An access token exchanged for the authorization code, or
|
756 |
* false if an access token could not be generated.
|
757 |
*/
|
@@ -894,9 +931,13 @@ abstract class BaseFacebook
|
|
894 |
$params['access_token'] = $this->getAccessToken();
|
895 |
}
|
896 |
|
|
|
|
|
|
|
|
|
897 |
// json_encode all params values that are not strings
|
898 |
foreach ($params as $key => $value) {
|
899 |
-
if (!is_string($value)) {
|
900 |
$params[$key] = json_encode($value);
|
901 |
}
|
902 |
}
|
@@ -904,6 +945,19 @@ abstract class BaseFacebook
|
|
904 |
return $this->makeRequest($url, $params);
|
905 |
}
|
906 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
907 |
/**
|
908 |
* Makes an HTTP request. This method can be overridden by subclasses if
|
909 |
* developers want to do fancier things or use something other than curl to
|
@@ -941,11 +995,13 @@ abstract class BaseFacebook
|
|
941 |
curl_setopt_array($ch, $opts);
|
942 |
$result = curl_exec($ch);
|
943 |
|
944 |
-
|
|
|
|
|
945 |
self::errorLog('Invalid or no certificate authority found, '.
|
946 |
'using bundled information');
|
947 |
curl_setopt($ch, CURLOPT_CAINFO,
|
948 |
-
dirname(__FILE__) . '
|
949 |
$result = curl_exec($ch);
|
950 |
}
|
951 |
|
@@ -987,16 +1043,25 @@ abstract class BaseFacebook
|
|
987 |
* Parses a signed_request and validates the signature.
|
988 |
*
|
989 |
* @param string $signed_request A signed token
|
|
|
990 |
* @return array The payload inside it or null if the sig is wrong
|
991 |
*/
|
992 |
protected function parseSignedRequest($signed_request) {
|
|
|
|
|
|
|
|
|
|
|
|
|
993 |
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
|
994 |
|
995 |
// decode the data
|
996 |
$sig = self::base64UrlDecode($encoded_sig);
|
997 |
$data = json_decode(self::base64UrlDecode($payload), true);
|
998 |
|
999 |
-
if (
|
|
|
|
|
1000 |
self::errorLog(
|
1001 |
'Unknown algorithm. Expected ' . self::SIGNED_REQUEST_ALGORITHM);
|
1002 |
return null;
|
@@ -1005,18 +1070,30 @@ abstract class BaseFacebook
|
|
1005 |
// check sig
|
1006 |
$expected_sig = hash_hmac('sha256', $payload,
|
1007 |
$this->getAppSecret(), $raw = true);
|
1008 |
-
|
|
|
1009 |
self::errorLog('Bad Signed JSON signature!');
|
1010 |
return null;
|
1011 |
}
|
1012 |
|
1013 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1014 |
}
|
1015 |
|
1016 |
/**
|
1017 |
* Makes a signed_request blob using the given data.
|
1018 |
*
|
1019 |
-
* @param array The data array.
|
|
|
1020 |
* @return string The signed request.
|
1021 |
*/
|
1022 |
protected function makeSignedRequest($data) {
|
@@ -1036,7 +1113,8 @@ abstract class BaseFacebook
|
|
1036 |
/**
|
1037 |
* Build the URL for api given parameters.
|
1038 |
*
|
1039 |
-
* @param $method
|
|
|
1040 |
* @return string The URL for the given parameters
|
1041 |
*/
|
1042 |
protected function getApiUrl($method) {
|
@@ -1113,9 +1191,9 @@ abstract class BaseFacebook
|
|
1113 |
/**
|
1114 |
* Build the URL for given domain alias, path and parameters.
|
1115 |
*
|
1116 |
-
* @param $name
|
1117 |
-
* @param $path
|
1118 |
-
* @param $params
|
1119 |
*
|
1120 |
* @return string The URL for the given parameters
|
1121 |
*/
|
@@ -1134,13 +1212,26 @@ abstract class BaseFacebook
|
|
1134 |
return $url;
|
1135 |
}
|
1136 |
|
|
|
|
|
|
|
|
|
|
|
1137 |
protected function getHttpHost() {
|
1138 |
if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
|
1139 |
-
|
|
|
|
|
|
|
1140 |
}
|
1141 |
return $_SERVER['HTTP_HOST'];
|
1142 |
}
|
1143 |
|
|
|
|
|
|
|
|
|
|
|
1144 |
protected function getHttpProtocol() {
|
1145 |
if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
|
1146 |
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
|
@@ -1162,7 +1253,9 @@ abstract class BaseFacebook
|
|
1162 |
}
|
1163 |
|
1164 |
/**
|
1165 |
-
*
|
|
|
|
|
1166 |
*/
|
1167 |
protected function getBaseDomain() {
|
1168 |
// The base domain is stored in the metadata cookie if not we fallback
|
@@ -1175,8 +1268,6 @@ abstract class BaseFacebook
|
|
1175 |
return $this->getHttpHost();
|
1176 |
}
|
1177 |
|
1178 |
-
/**
|
1179 |
-
|
1180 |
/**
|
1181 |
* Returns the Current URL, stripping it of known FB parameters that should
|
1182 |
* not persist.
|
@@ -1223,13 +1314,14 @@ abstract class BaseFacebook
|
|
1223 |
* params that should be stripped out.
|
1224 |
*
|
1225 |
* @param string $param A key or key/value pair within a URL's query (e.g.
|
1226 |
-
*
|
1227 |
*
|
1228 |
* @return boolean
|
1229 |
*/
|
1230 |
protected function shouldRetainParam($param) {
|
1231 |
foreach (self::$DROP_QUERY_PARAMS as $drop_query_param) {
|
1232 |
-
if (
|
|
|
1233 |
return false;
|
1234 |
}
|
1235 |
}
|
@@ -1242,7 +1334,7 @@ abstract class BaseFacebook
|
|
1242 |
* because the access token is no longer valid. If that is
|
1243 |
* the case, then we destroy the session.
|
1244 |
*
|
1245 |
-
* @param $result
|
1246 |
* by a failed API call.
|
1247 |
*/
|
1248 |
protected function throwAPIException($result) {
|
@@ -1291,8 +1383,9 @@ abstract class BaseFacebook
|
|
1291 |
* _ instead of /
|
1292 |
* No padded =
|
1293 |
*
|
1294 |
-
* @param string $input base64UrlEncoded
|
1295 |
-
*
|
|
|
1296 |
*/
|
1297 |
protected static function base64UrlDecode($input) {
|
1298 |
return base64_decode(strtr($input, '-_', '+/'));
|
@@ -1304,8 +1397,8 @@ abstract class BaseFacebook
|
|
1304 |
* - instead of +
|
1305 |
* _ instead of /
|
1306 |
*
|
1307 |
-
* @param string $input
|
1308 |
-
* @return string base64Url encoded string
|
1309 |
*/
|
1310 |
protected static function base64UrlEncode($input) {
|
1311 |
$str = strtr(base64_encode($input), '+/', '-_');
|
@@ -1345,7 +1438,7 @@ abstract class BaseFacebook
|
|
1345 |
/**
|
1346 |
* Parses the metadata cookie that our Javascript API set
|
1347 |
*
|
1348 |
-
* @return
|
1349 |
*/
|
1350 |
protected function getMetadataCookie() {
|
1351 |
$cookie_name = $this->getMetadataCookieName();
|
@@ -1373,6 +1466,14 @@ abstract class BaseFacebook
|
|
1373 |
return $metadata;
|
1374 |
}
|
1375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1376 |
protected static function isAllowedDomain($big, $small) {
|
1377 |
if ($big === $small) {
|
1378 |
return true;
|
@@ -1380,6 +1481,14 @@ abstract class BaseFacebook
|
|
1380 |
return self::endsWith($big, '.'.$small);
|
1381 |
}
|
1382 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1383 |
protected static function endsWith($big, $small) {
|
1384 |
$len = strlen($small);
|
1385 |
if ($len === 0) {
|
@@ -1423,6 +1532,7 @@ abstract class BaseFacebook
|
|
1423 |
* Clear the data with $key from the persistent storage
|
1424 |
*
|
1425 |
* @param string $key
|
|
|
1426 |
* @return void
|
1427 |
*/
|
1428 |
abstract protected function clearPersistentData($key);
|
31 |
{
|
32 |
/**
|
33 |
* The result from the API server that represents the exception information.
|
34 |
+
*
|
35 |
+
* @var mixed
|
36 |
*/
|
37 |
protected $result;
|
38 |
|
44 |
public function __construct($result) {
|
45 |
$this->result = $result;
|
46 |
|
47 |
+
$code = 0;
|
48 |
+
if (isset($result['error_code']) && is_int($result['error_code'])) {
|
49 |
+
$code = $result['error_code'];
|
50 |
+
}
|
51 |
|
52 |
if (isset($result['error_description'])) {
|
53 |
// OAuth 2.0 Draft 10 style
|
125 |
/**
|
126 |
* Version.
|
127 |
*/
|
128 |
+
const VERSION = '3.2.3';
|
129 |
|
130 |
/**
|
131 |
* Signed Request Algorithm.
|
134 |
|
135 |
/**
|
136 |
* Default options for curl.
|
137 |
+
*
|
138 |
+
* @var array
|
139 |
*/
|
140 |
public static $CURL_OPTS = array(
|
141 |
+
CURLOPT_CONNECTTIMEOUT => 30,
|
142 |
CURLOPT_RETURNTRANSFER => true,
|
143 |
CURLOPT_TIMEOUT => 60,
|
144 |
CURLOPT_USERAGENT => 'facebook-php-3.2',
|
145 |
+
CURLOPT_SSL_VERIFYPEER => false,
|
146 |
);
|
147 |
|
148 |
/**
|
149 |
* List of query parameters that get automatically dropped when rebuilding
|
150 |
* the current URL.
|
151 |
+
*
|
152 |
+
* @var array
|
153 |
*/
|
154 |
protected static $DROP_QUERY_PARAMS = array(
|
155 |
'code',
|
159 |
|
160 |
/**
|
161 |
* Maps aliases to Facebook domains.
|
162 |
+
*
|
163 |
+
* @var array
|
164 |
*/
|
165 |
public static $DOMAIN_MAP = array(
|
166 |
'api' => 'https://api.facebook.com/',
|
194 |
|
195 |
/**
|
196 |
* The data from the signed_request token.
|
197 |
+
*
|
198 |
+
* @var string
|
199 |
*/
|
200 |
protected $signedRequest;
|
201 |
|
202 |
/**
|
203 |
* A CSRF state variable to assist in the defense against CSRF attacks.
|
204 |
+
*
|
205 |
+
* @var string
|
206 |
*/
|
207 |
protected $state;
|
208 |
|
228 |
*/
|
229 |
protected $trustForwarded = false;
|
230 |
|
231 |
+
/**
|
232 |
+
* Indicates if signed_request is allowed in query parameters.
|
233 |
+
*
|
234 |
+
* @var boolean
|
235 |
+
*/
|
236 |
+
protected $allowSignedRequest = true;
|
237 |
+
|
238 |
/**
|
239 |
* Initialize a Facebook Application.
|
240 |
*
|
242 |
* - appId: the application ID
|
243 |
* - secret: the application secret
|
244 |
* - fileUpload: (optional) boolean indicating if file uploads are enabled
|
245 |
+
* - allowSignedRequest: (optional) boolean indicating if signed_request is
|
246 |
+
* allowed in query parameters or POST body. Should be
|
247 |
+
* false for non-canvas apps. Defaults to true.
|
248 |
*
|
249 |
* @param array $config The application configuration
|
250 |
*/
|
257 |
if (isset($config['trustForwarded']) && $config['trustForwarded']) {
|
258 |
$this->trustForwarded = true;
|
259 |
}
|
260 |
+
if (isset($config['allowSignedRequest'])
|
261 |
+
&& !$config['allowSignedRequest']) {
|
262 |
+
$this->allowSignedRequest = false;
|
263 |
+
}
|
264 |
$state = $this->getPersistentData('state');
|
265 |
if (!empty($state)) {
|
266 |
$this->state = $state;
|
271 |
* Set the Application ID.
|
272 |
*
|
273 |
* @param string $appId The Application ID
|
274 |
+
*
|
275 |
* @return BaseFacebook
|
276 |
*/
|
277 |
public function setAppId($appId) {
|
292 |
* Set the App Secret.
|
293 |
*
|
294 |
* @param string $apiSecret The App Secret
|
295 |
+
*
|
296 |
* @return BaseFacebook
|
297 |
+
* @deprecated Use setAppSecret instead.
|
298 |
+
* @see setAppSecret()
|
299 |
*/
|
300 |
public function setApiSecret($apiSecret) {
|
301 |
$this->setAppSecret($apiSecret);
|
306 |
* Set the App Secret.
|
307 |
*
|
308 |
* @param string $appSecret The App Secret
|
309 |
+
*
|
310 |
* @return BaseFacebook
|
311 |
*/
|
312 |
public function setAppSecret($appSecret) {
|
318 |
* Get the App Secret.
|
319 |
*
|
320 |
* @return string the App Secret
|
321 |
+
*
|
322 |
+
* @deprecated Use getAppSecret instead.
|
323 |
+
* @see getAppSecret()
|
324 |
*/
|
325 |
public function getApiSecret() {
|
326 |
return $this->getAppSecret();
|
339 |
* Set the file upload support status.
|
340 |
*
|
341 |
* @param boolean $fileUploadSupport The file upload support status.
|
342 |
+
*
|
343 |
* @return BaseFacebook
|
344 |
*/
|
345 |
public function setFileUploadSupport($fileUploadSupport) {
|
357 |
}
|
358 |
|
359 |
/**
|
|
|
|
|
360 |
* Get the file upload support status.
|
361 |
*
|
362 |
* @return boolean true if and only if the server supports file upload.
|
363 |
+
*
|
364 |
+
* @deprecated Use getFileUploadSupport instead.
|
365 |
+
* @see getFileUploadSupport()
|
366 |
*/
|
367 |
public function useFileUploadSupport() {
|
368 |
return $this->getFileUploadSupport();
|
374 |
* to use it.
|
375 |
*
|
376 |
* @param string $access_token an access token.
|
377 |
+
*
|
378 |
* @return BaseFacebook
|
379 |
*/
|
380 |
public function setAccessToken($access_token) {
|
527 |
*/
|
528 |
public function getSignedRequest() {
|
529 |
if (!$this->signedRequest) {
|
530 |
+
if ($this->allowSignedRequest && !empty($_REQUEST['signed_request'])) {
|
531 |
$this->signedRequest = $this->parseSignedRequest(
|
532 |
+
$_REQUEST['signed_request']
|
533 |
+
);
|
534 |
} else if (!empty($_COOKIE[$this->getSignedRequestCookieName()])) {
|
535 |
$this->signedRequest = $this->parseSignedRequest(
|
536 |
$_COOKIE[$this->getSignedRequestCookieName()]);
|
569 |
if ($signed_request) {
|
570 |
if (array_key_exists('user_id', $signed_request)) {
|
571 |
$user = $signed_request['user_id'];
|
572 |
+
|
573 |
+
if($user != $this->getPersistentData('user_id')){
|
574 |
+
$this->clearAllPersistentData();
|
575 |
+
}
|
576 |
+
|
577 |
$this->setPersistentData('user_id', $signed_request['user_id']);
|
578 |
return $user;
|
579 |
}
|
629 |
return $this->getUrl(
|
630 |
'www',
|
631 |
'dialog/oauth',
|
632 |
+
array_merge(
|
633 |
+
array(
|
634 |
+
'client_id' => $this->getAppId(),
|
635 |
+
'redirect_uri' => $currentUrl, // possibly overwritten
|
636 |
+
'state' => $this->state,
|
637 |
+
'sdk' => 'php-sdk-'.self::VERSION
|
638 |
+
),
|
639 |
+
$params
|
640 |
+
));
|
641 |
}
|
642 |
|
643 |
/**
|
663 |
/**
|
664 |
* Get a login status URL to fetch the status from Facebook.
|
665 |
*
|
|
|
|
|
|
|
|
|
|
|
666 |
* @param array $params Provide custom parameters
|
667 |
* @return string The URL for the logout flow
|
668 |
*/
|
669 |
public function getLoginStatusUrl($params=array()) {
|
670 |
+
return $this->getLoginUrl(
|
|
|
|
|
671 |
array_merge(array(
|
672 |
+
'response_type' => 'code',
|
673 |
+
'display' => 'none',
|
|
|
|
|
|
|
674 |
), $params)
|
675 |
);
|
676 |
}
|
703 |
}
|
704 |
|
705 |
/**
|
706 |
+
* Constructs and returns the name of the cookie that potentially contain
|
707 |
* metadata. The cookie is not set by the BaseFacebook class, but it may be
|
708 |
* set by the JavaScript SDK.
|
709 |
*
|
722 |
* code could not be determined.
|
723 |
*/
|
724 |
protected function getCode() {
|
725 |
+
if (!isset($_REQUEST['code']) || !isset($_REQUEST['state'])) {
|
726 |
+
return false;
|
727 |
+
}
|
728 |
+
if ($this->state === $_REQUEST['state']) {
|
|
|
729 |
// CSRF state has done its job, so clear it
|
730 |
$this->state = null;
|
731 |
$this->clearPersistentData('state');
|
732 |
return $_REQUEST['code'];
|
|
|
|
|
|
|
|
|
733 |
}
|
734 |
+
self::errorLog('CSRF state token does not match one provided.');
|
735 |
|
736 |
return false;
|
737 |
}
|
762 |
* @return string The application access token, useful for gathering
|
763 |
* public information about users and applications.
|
764 |
*/
|
765 |
+
public function getApplicationAccessToken() {
|
766 |
return $this->appId.'|'.$this->appSecret;
|
767 |
}
|
768 |
|
787 |
* either logged in to Facebook or has granted an offline access permission.
|
788 |
*
|
789 |
* @param string $code An authorization code.
|
790 |
+
* @param string $redirect_uri Optional redirect URI. Default null
|
791 |
+
*
|
792 |
* @return mixed An access token exchanged for the authorization code, or
|
793 |
* false if an access token could not be generated.
|
794 |
*/
|
931 |
$params['access_token'] = $this->getAccessToken();
|
932 |
}
|
933 |
|
934 |
+
if (isset($params['access_token']) && !isset($params['appsecret_proof'])) {
|
935 |
+
$params['appsecret_proof'] = $this->getAppSecretProof($params['access_token']);
|
936 |
+
}
|
937 |
+
|
938 |
// json_encode all params values that are not strings
|
939 |
foreach ($params as $key => $value) {
|
940 |
+
if (!is_string($value) && !($value instanceof CURLFile)) {
|
941 |
$params[$key] = json_encode($value);
|
942 |
}
|
943 |
}
|
945 |
return $this->makeRequest($url, $params);
|
946 |
}
|
947 |
|
948 |
+
/**
|
949 |
+
* Generate a proof of App Secret
|
950 |
+
* This is required for all API calls originating from a server
|
951 |
+
* It is a sha256 hash of the access_token made using the app secret
|
952 |
+
*
|
953 |
+
* @param string $access_token The access_token to be hashed (required)
|
954 |
+
*
|
955 |
+
* @return string The sha256 hash of the access_token
|
956 |
+
*/
|
957 |
+
protected function getAppSecretProof($access_token) {
|
958 |
+
return hash_hmac('sha256', $access_token, $this->getAppSecret());
|
959 |
+
}
|
960 |
+
|
961 |
/**
|
962 |
* Makes an HTTP request. This method can be overridden by subclasses if
|
963 |
* developers want to do fancier things or use something other than curl to
|
995 |
curl_setopt_array($ch, $opts);
|
996 |
$result = curl_exec($ch);
|
997 |
|
998 |
+
$errno = curl_errno($ch);
|
999 |
+
// CURLE_SSL_CACERT || CURLE_SSL_CACERT_BADFILE
|
1000 |
+
if ($errno == 60 || $errno == 77) {
|
1001 |
self::errorLog('Invalid or no certificate authority found, '.
|
1002 |
'using bundled information');
|
1003 |
curl_setopt($ch, CURLOPT_CAINFO,
|
1004 |
+
dirname(__FILE__) . DIRECTORY_SEPARATOR . 'fb_ca_chain_bundle.crt');
|
1005 |
$result = curl_exec($ch);
|
1006 |
}
|
1007 |
|
1043 |
* Parses a signed_request and validates the signature.
|
1044 |
*
|
1045 |
* @param string $signed_request A signed token
|
1046 |
+
*
|
1047 |
* @return array The payload inside it or null if the sig is wrong
|
1048 |
*/
|
1049 |
protected function parseSignedRequest($signed_request) {
|
1050 |
+
|
1051 |
+
if (!$signed_request || strpos($signed_request, '.') === false) {
|
1052 |
+
self::errorLog('Signed request was invalid!');
|
1053 |
+
return null;
|
1054 |
+
}
|
1055 |
+
|
1056 |
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
|
1057 |
|
1058 |
// decode the data
|
1059 |
$sig = self::base64UrlDecode($encoded_sig);
|
1060 |
$data = json_decode(self::base64UrlDecode($payload), true);
|
1061 |
|
1062 |
+
if (!isset($data['algorithm'])
|
1063 |
+
|| strtoupper($data['algorithm']) !== self::SIGNED_REQUEST_ALGORITHM
|
1064 |
+
) {
|
1065 |
self::errorLog(
|
1066 |
'Unknown algorithm. Expected ' . self::SIGNED_REQUEST_ALGORITHM);
|
1067 |
return null;
|
1070 |
// check sig
|
1071 |
$expected_sig = hash_hmac('sha256', $payload,
|
1072 |
$this->getAppSecret(), $raw = true);
|
1073 |
+
|
1074 |
+
if (strlen($expected_sig) !== strlen($sig)) {
|
1075 |
self::errorLog('Bad Signed JSON signature!');
|
1076 |
return null;
|
1077 |
}
|
1078 |
|
1079 |
+
$result = 0;
|
1080 |
+
for ($i = 0; $i < strlen($expected_sig); $i++) {
|
1081 |
+
$result |= ord($expected_sig[$i]) ^ ord($sig[$i]);
|
1082 |
+
}
|
1083 |
+
|
1084 |
+
if ($result == 0) {
|
1085 |
+
return $data;
|
1086 |
+
} else {
|
1087 |
+
self::errorLog('Bad Signed JSON signature!');
|
1088 |
+
return null;
|
1089 |
+
}
|
1090 |
}
|
1091 |
|
1092 |
/**
|
1093 |
* Makes a signed_request blob using the given data.
|
1094 |
*
|
1095 |
+
* @param array $data The data array.
|
1096 |
+
*
|
1097 |
* @return string The signed request.
|
1098 |
*/
|
1099 |
protected function makeSignedRequest($data) {
|
1113 |
/**
|
1114 |
* Build the URL for api given parameters.
|
1115 |
*
|
1116 |
+
* @param string $method The method name.
|
1117 |
+
*
|
1118 |
* @return string The URL for the given parameters
|
1119 |
*/
|
1120 |
protected function getApiUrl($method) {
|
1191 |
/**
|
1192 |
* Build the URL for given domain alias, path and parameters.
|
1193 |
*
|
1194 |
+
* @param string $name The name of the domain
|
1195 |
+
* @param string $path Optional path (without a leading slash)
|
1196 |
+
* @param array $params Optional query parameters
|
1197 |
*
|
1198 |
* @return string The URL for the given parameters
|
1199 |
*/
|
1212 |
return $url;
|
1213 |
}
|
1214 |
|
1215 |
+
/**
|
1216 |
+
* Returns the HTTP Host
|
1217 |
+
*
|
1218 |
+
* @return string The HTTP Host
|
1219 |
+
*/
|
1220 |
protected function getHttpHost() {
|
1221 |
if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
|
1222 |
+
$forwardProxies = explode(',', $_SERVER['HTTP_X_FORWARDED_HOST']);
|
1223 |
+
if (!empty($forwardProxies)) {
|
1224 |
+
return $forwardProxies[0];
|
1225 |
+
}
|
1226 |
}
|
1227 |
return $_SERVER['HTTP_HOST'];
|
1228 |
}
|
1229 |
|
1230 |
+
/**
|
1231 |
+
* Returns the HTTP Protocol
|
1232 |
+
*
|
1233 |
+
* @return string The HTTP Protocol
|
1234 |
+
*/
|
1235 |
protected function getHttpProtocol() {
|
1236 |
if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
|
1237 |
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
|
1253 |
}
|
1254 |
|
1255 |
/**
|
1256 |
+
* Returns the base domain used for the cookie.
|
1257 |
+
*
|
1258 |
+
* @return string The base domain
|
1259 |
*/
|
1260 |
protected function getBaseDomain() {
|
1261 |
// The base domain is stored in the metadata cookie if not we fallback
|
1268 |
return $this->getHttpHost();
|
1269 |
}
|
1270 |
|
|
|
|
|
1271 |
/**
|
1272 |
* Returns the Current URL, stripping it of known FB parameters that should
|
1273 |
* not persist.
|
1314 |
* params that should be stripped out.
|
1315 |
*
|
1316 |
* @param string $param A key or key/value pair within a URL's query (e.g.
|
1317 |
+
* 'foo=a', 'foo=', or 'foo'.
|
1318 |
*
|
1319 |
* @return boolean
|
1320 |
*/
|
1321 |
protected function shouldRetainParam($param) {
|
1322 |
foreach (self::$DROP_QUERY_PARAMS as $drop_query_param) {
|
1323 |
+
if ($param === $drop_query_param ||
|
1324 |
+
strpos($param, $drop_query_param.'=') === 0) {
|
1325 |
return false;
|
1326 |
}
|
1327 |
}
|
1334 |
* because the access token is no longer valid. If that is
|
1335 |
* the case, then we destroy the session.
|
1336 |
*
|
1337 |
+
* @param array $result A record storing the error message returned
|
1338 |
* by a failed API call.
|
1339 |
*/
|
1340 |
protected function throwAPIException($result) {
|
1383 |
* _ instead of /
|
1384 |
* No padded =
|
1385 |
*
|
1386 |
+
* @param string $input base64UrlEncoded input
|
1387 |
+
*
|
1388 |
+
* @return string The decoded string
|
1389 |
*/
|
1390 |
protected static function base64UrlDecode($input) {
|
1391 |
return base64_decode(strtr($input, '-_', '+/'));
|
1397 |
* - instead of +
|
1398 |
* _ instead of /
|
1399 |
*
|
1400 |
+
* @param string $input The input to encode
|
1401 |
+
* @return string The base64Url encoded input, as a string.
|
1402 |
*/
|
1403 |
protected static function base64UrlEncode($input) {
|
1404 |
$str = strtr(base64_encode($input), '+/', '-_');
|
1438 |
/**
|
1439 |
* Parses the metadata cookie that our Javascript API set
|
1440 |
*
|
1441 |
+
* @return array an array mapping key to value
|
1442 |
*/
|
1443 |
protected function getMetadataCookie() {
|
1444 |
$cookie_name = $this->getMetadataCookieName();
|
1466 |
return $metadata;
|
1467 |
}
|
1468 |
|
1469 |
+
/**
|
1470 |
+
* Finds whether the given domain is allowed or not
|
1471 |
+
*
|
1472 |
+
* @param string $big The value to be checked against $small
|
1473 |
+
* @param string $small The input string
|
1474 |
+
*
|
1475 |
+
* @return boolean Returns TRUE if $big matches $small
|
1476 |
+
*/
|
1477 |
protected static function isAllowedDomain($big, $small) {
|
1478 |
if ($big === $small) {
|
1479 |
return true;
|
1481 |
return self::endsWith($big, '.'.$small);
|
1482 |
}
|
1483 |
|
1484 |
+
/**
|
1485 |
+
* Checks if $big string ends with $small string
|
1486 |
+
*
|
1487 |
+
* @param string $big The value to be checked against $small
|
1488 |
+
* @param string $small The input string
|
1489 |
+
*
|
1490 |
+
* @return boolean TRUE if $big ends with $small
|
1491 |
+
*/
|
1492 |
protected static function endsWith($big, $small) {
|
1493 |
$len = strlen($small);
|
1494 |
if ($len === 0) {
|
1532 |
* Clear the data with $key from the persistent storage
|
1533 |
*
|
1534 |
* @param string $key
|
1535 |
+
*
|
1536 |
* @return void
|
1537 |
*/
|
1538 |
abstract protected function clearPersistentData($key);
|
hybridauth/Hybrid/thirdparty/Facebook/facebook.php
CHANGED
@@ -23,13 +23,22 @@ require_once "base_facebook.php";
|
|
23 |
*/
|
24 |
class Facebook extends BaseFacebook
|
25 |
{
|
|
|
|
|
|
|
26 |
const FBSS_COOKIE_NAME = 'fbss';
|
27 |
|
28 |
-
|
29 |
-
|
|
|
|
|
30 |
const FBSS_COOKIE_EXPIRE = 31556926; // 1 year
|
31 |
|
32 |
-
|
|
|
|
|
|
|
|
|
33 |
protected $sharedSessionID;
|
34 |
|
35 |
/**
|
@@ -38,25 +47,45 @@ class Facebook extends BaseFacebook
|
|
38 |
* access token if during the course of execution
|
39 |
* we discover them.
|
40 |
*
|
41 |
-
* @param
|
42 |
* accepts "sharedSession" as a boolean to turn on a secondary
|
43 |
* cookie for environments with a shared session (that is, your app
|
44 |
* shares the domain with other apps).
|
45 |
-
*
|
|
|
46 |
*/
|
47 |
public function __construct($config) {
|
48 |
-
if (
|
|
|
49 |
session_start();
|
50 |
}
|
51 |
parent::__construct($config);
|
52 |
if (!empty($config['sharedSession'])) {
|
53 |
$this->initSharedSession();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
57 |
protected static $kSupportedKeys =
|
58 |
array('state', 'code', 'access_token', 'user_id');
|
59 |
|
|
|
|
|
|
|
60 |
protected function initSharedSession() {
|
61 |
$cookie_name = $this->getSharedSessionCookieName();
|
62 |
if (isset($_COOKIE[$cookie_name])) {
|
@@ -95,10 +124,16 @@ class Facebook extends BaseFacebook
|
|
95 |
|
96 |
/**
|
97 |
* Provides the implementations of the inherited abstract
|
98 |
-
* methods.
|
99 |
* a store for authorization codes, user ids, CSRF states, and
|
100 |
* access tokens.
|
101 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
protected function setPersistentData($key, $value) {
|
103 |
if (!in_array($key, self::$kSupportedKeys)) {
|
104 |
self::errorLog('Unsupported key passed to setPersistentData.');
|
@@ -109,6 +144,11 @@ class Facebook extends BaseFacebook
|
|
109 |
$_SESSION[$session_var_name] = $value;
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
|
|
112 |
protected function getPersistentData($key, $default = false) {
|
113 |
if (!in_array($key, self::$kSupportedKeys)) {
|
114 |
self::errorLog('Unsupported key passed to getPersistentData.');
|
@@ -120,6 +160,11 @@ class Facebook extends BaseFacebook
|
|
120 |
$_SESSION[$session_var_name] : $default;
|
121 |
}
|
122 |
|
|
|
|
|
|
|
|
|
|
|
123 |
protected function clearPersistentData($key) {
|
124 |
if (!in_array($key, self::$kSupportedKeys)) {
|
125 |
self::errorLog('Unsupported key passed to clearPersistentData.');
|
@@ -127,9 +172,16 @@ class Facebook extends BaseFacebook
|
|
127 |
}
|
128 |
|
129 |
$session_var_name = $this->constructSessionVariableName($key);
|
130 |
-
|
|
|
|
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
133 |
protected function clearAllPersistentData() {
|
134 |
foreach (self::$kSupportedKeys as $key) {
|
135 |
$this->clearPersistentData($key);
|
@@ -139,6 +191,9 @@ class Facebook extends BaseFacebook
|
|
139 |
}
|
140 |
}
|
141 |
|
|
|
|
|
|
|
142 |
protected function deleteSharedSessionCookie() {
|
143 |
$cookie_name = $this->getSharedSessionCookieName();
|
144 |
unset($_COOKIE[$cookie_name]);
|
@@ -146,10 +201,23 @@ class Facebook extends BaseFacebook
|
|
146 |
setcookie($cookie_name, '', 1, '/', '.'.$base_domain);
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
|
|
149 |
protected function getSharedSessionCookieName() {
|
150 |
return self::FBSS_COOKIE_NAME . '_' . $this->getAppId();
|
151 |
}
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
protected function constructSessionVariableName($key) {
|
154 |
$parts = array('fb', $this->getAppId(), $key);
|
155 |
if ($this->sharedSessionID) {
|
23 |
*/
|
24 |
class Facebook extends BaseFacebook
|
25 |
{
|
26 |
+
/**
|
27 |
+
* Cookie prefix
|
28 |
+
*/
|
29 |
const FBSS_COOKIE_NAME = 'fbss';
|
30 |
|
31 |
+
/**
|
32 |
+
* We can set this to a high number because the main session
|
33 |
+
* expiration will trump this.
|
34 |
+
*/
|
35 |
const FBSS_COOKIE_EXPIRE = 31556926; // 1 year
|
36 |
|
37 |
+
/**
|
38 |
+
* Stores the shared session ID if one is set.
|
39 |
+
*
|
40 |
+
* @var string
|
41 |
+
*/
|
42 |
protected $sharedSessionID;
|
43 |
|
44 |
/**
|
47 |
* access token if during the course of execution
|
48 |
* we discover them.
|
49 |
*
|
50 |
+
* @param array $config the application configuration. Additionally
|
51 |
* accepts "sharedSession" as a boolean to turn on a secondary
|
52 |
* cookie for environments with a shared session (that is, your app
|
53 |
* shares the domain with other apps).
|
54 |
+
*
|
55 |
+
* @see BaseFacebook::__construct
|
56 |
*/
|
57 |
public function __construct($config) {
|
58 |
+
if ((function_exists('session_status')
|
59 |
+
&& session_status() !== PHP_SESSION_ACTIVE) || !session_id()) {
|
60 |
session_start();
|
61 |
}
|
62 |
parent::__construct($config);
|
63 |
if (!empty($config['sharedSession'])) {
|
64 |
$this->initSharedSession();
|
65 |
+
|
66 |
+
// re-load the persisted state, since parent
|
67 |
+
// attempted to read out of non-shared cookie
|
68 |
+
$state = $this->getPersistentData('state');
|
69 |
+
if (!empty($state)) {
|
70 |
+
$this->state = $state;
|
71 |
+
} else {
|
72 |
+
$this->state = null;
|
73 |
+
}
|
74 |
+
|
75 |
}
|
76 |
}
|
77 |
|
78 |
+
/**
|
79 |
+
* Supported keys for persistent data
|
80 |
+
*
|
81 |
+
* @var array
|
82 |
+
*/
|
83 |
protected static $kSupportedKeys =
|
84 |
array('state', 'code', 'access_token', 'user_id');
|
85 |
|
86 |
+
/**
|
87 |
+
* Initiates Shared Session
|
88 |
+
*/
|
89 |
protected function initSharedSession() {
|
90 |
$cookie_name = $this->getSharedSessionCookieName();
|
91 |
if (isset($_COOKIE[$cookie_name])) {
|
124 |
|
125 |
/**
|
126 |
* Provides the implementations of the inherited abstract
|
127 |
+
* methods. The implementation uses PHP sessions to maintain
|
128 |
* a store for authorization codes, user ids, CSRF states, and
|
129 |
* access tokens.
|
130 |
*/
|
131 |
+
|
132 |
+
/**
|
133 |
+
* {@inheritdoc}
|
134 |
+
*
|
135 |
+
* @see BaseFacebook::setPersistentData()
|
136 |
+
*/
|
137 |
protected function setPersistentData($key, $value) {
|
138 |
if (!in_array($key, self::$kSupportedKeys)) {
|
139 |
self::errorLog('Unsupported key passed to setPersistentData.');
|
144 |
$_SESSION[$session_var_name] = $value;
|
145 |
}
|
146 |
|
147 |
+
/**
|
148 |
+
* {@inheritdoc}
|
149 |
+
*
|
150 |
+
* @see BaseFacebook::getPersistentData()
|
151 |
+
*/
|
152 |
protected function getPersistentData($key, $default = false) {
|
153 |
if (!in_array($key, self::$kSupportedKeys)) {
|
154 |
self::errorLog('Unsupported key passed to getPersistentData.');
|
160 |
$_SESSION[$session_var_name] : $default;
|
161 |
}
|
162 |
|
163 |
+
/**
|
164 |
+
* {@inheritdoc}
|
165 |
+
*
|
166 |
+
* @see BaseFacebook::clearPersistentData()
|
167 |
+
*/
|
168 |
protected function clearPersistentData($key) {
|
169 |
if (!in_array($key, self::$kSupportedKeys)) {
|
170 |
self::errorLog('Unsupported key passed to clearPersistentData.');
|
172 |
}
|
173 |
|
174 |
$session_var_name = $this->constructSessionVariableName($key);
|
175 |
+
if (isset($_SESSION[$session_var_name])) {
|
176 |
+
unset($_SESSION[$session_var_name]);
|
177 |
+
}
|
178 |
}
|
179 |
|
180 |
+
/**
|
181 |
+
* {@inheritdoc}
|
182 |
+
*
|
183 |
+
* @see BaseFacebook::clearAllPersistentData()
|
184 |
+
*/
|
185 |
protected function clearAllPersistentData() {
|
186 |
foreach (self::$kSupportedKeys as $key) {
|
187 |
$this->clearPersistentData($key);
|
191 |
}
|
192 |
}
|
193 |
|
194 |
+
/**
|
195 |
+
* Deletes Shared session cookie
|
196 |
+
*/
|
197 |
protected function deleteSharedSessionCookie() {
|
198 |
$cookie_name = $this->getSharedSessionCookieName();
|
199 |
unset($_COOKIE[$cookie_name]);
|
201 |
setcookie($cookie_name, '', 1, '/', '.'.$base_domain);
|
202 |
}
|
203 |
|
204 |
+
/**
|
205 |
+
* Returns the Shared session cookie name
|
206 |
+
*
|
207 |
+
* @return string The Shared session cookie name
|
208 |
+
*/
|
209 |
protected function getSharedSessionCookieName() {
|
210 |
return self::FBSS_COOKIE_NAME . '_' . $this->getAppId();
|
211 |
}
|
212 |
|
213 |
+
/**
|
214 |
+
* Constructs and returns the name of the session key.
|
215 |
+
*
|
216 |
+
* @see setPersistentData()
|
217 |
+
* @param string $key The key for which the session variable name to construct.
|
218 |
+
*
|
219 |
+
* @return string The name of the session key.
|
220 |
+
*/
|
221 |
protected function constructSessionVariableName($key) {
|
222 |
$parts = array('fb', $this->getAppId(), $key);
|
223 |
if ($this->sharedSessionID) {
|
hybridauth/Hybrid/thirdparty/LinkedIn/LinkedIn.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
// http://code.google.com/p/simple-linkedinphp/
|
3 |
// 3.2.0 - November 29, 2011
|
4 |
// hacked into the code to handel new scope (r_basicprofile+r_emailaddress) - until Paul update linkedinphp library!
|
|
|
|
|
5 |
|
6 |
/**
|
7 |
* This file defines the 'LinkedIn' class. This class is designed to be a
|
@@ -122,8 +124,8 @@ class LinkedIn {
|
|
122 |
const _URL_ACCESS = 'https://api.linkedin.com/uas/oauth/accessToken';
|
123 |
const _URL_API = 'https://api.linkedin.com';
|
124 |
const _URL_AUTH = 'https://www.linkedin.com/uas/oauth/authenticate?oauth_token=';
|
125 |
-
|
126 |
-
const _URL_REQUEST = 'https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile+r_emailaddress+rw_nus+r_network';
|
127 |
const _URL_REVOKE = 'https://api.linkedin.com/uas/oauth/invalidateToken';
|
128 |
|
129 |
// Library version
|
@@ -441,7 +443,7 @@ class LinkedIn {
|
|
441 |
* http://developer.linkedin.com/docs/DOC-1327
|
442 |
*
|
443 |
* @param str $cid
|
444 |
-
* Company ID you want the
|
445 |
* @param str $options
|
446 |
* [OPTIONAL] Data retrieval options.
|
447 |
*
|
@@ -670,6 +672,10 @@ class LinkedIn {
|
|
670 |
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
|
671 |
curl_setopt($handle, CURLOPT_URL, $url);
|
672 |
curl_setopt($handle, CURLOPT_VERBOSE, FALSE);
|
|
|
|
|
|
|
|
|
673 |
|
674 |
// configure the header we are sending to LinkedIn - http://developer.linkedin.com/docs/DOC-1203
|
675 |
$header = array($oauth_req->to_header(self::_API_OAUTH_REALM));
|
@@ -696,6 +702,9 @@ class LinkedIn {
|
|
696 |
|
697 |
// gather the response
|
698 |
$return_data['linkedin'] = curl_exec($handle);
|
|
|
|
|
|
|
699 |
$return_data['info'] = curl_getinfo($handle);
|
700 |
$return_data['oauth']['header'] = $oauth_req->to_header(self::_API_OAUTH_REALM);
|
701 |
$return_data['oauth']['string'] = $oauth_req->base_string;
|
@@ -2056,10 +2065,10 @@ class LinkedIn {
|
|
2056 |
* The group id.
|
2057 |
* @param str $xml
|
2058 |
* The group settings to set. The settings are:
|
2059 |
-
* -<show-group-logo-in-
|
2060 |
* -<contact-email>
|
2061 |
* -<email-digest-frequency>
|
2062 |
-
* -<email-
|
2063 |
* -<allow-messages-from-members>
|
2064 |
* -<email-for-every-new-post>
|
2065 |
*
|
@@ -2255,7 +2264,7 @@ class LinkedIn {
|
|
2255 |
// send request
|
2256 |
$response = $this->fetch('POST', $share_url, $data);
|
2257 |
} else {
|
2258 |
-
// data
|
2259 |
throw new LinkedInException('LinkedIn->share(): sharing data constraints not met; check that you have supplied valid content and combinations of content to share.');
|
2260 |
}
|
2261 |
} else {
|
@@ -2601,7 +2610,7 @@ class LinkedIn {
|
|
2601 |
public static function xmlToArray($xml) {
|
2602 |
// check passed data
|
2603 |
if(!is_string($xml)) {
|
2604 |
-
// bad data
|
2605 |
throw new LinkedInException('LinkedIn->xmlToArray(): bad data passed, $xml must be a non-zero length string.');
|
2606 |
}
|
2607 |
|
2 |
// http://code.google.com/p/simple-linkedinphp/
|
3 |
// 3.2.0 - November 29, 2011
|
4 |
// hacked into the code to handel new scope (r_basicprofile+r_emailaddress) - until Paul update linkedinphp library!
|
5 |
+
// Facyla note 20131219 : this in fact should not be hacked, as Linkedin lets developpers define the wanted scope
|
6 |
+
// in Linkedin application settings, when creating the (required) application and API access
|
7 |
|
8 |
/**
|
9 |
* This file defines the 'LinkedIn' class. This class is designed to be a
|
124 |
const _URL_ACCESS = 'https://api.linkedin.com/uas/oauth/accessToken';
|
125 |
const _URL_API = 'https://api.linkedin.com';
|
126 |
const _URL_AUTH = 'https://www.linkedin.com/uas/oauth/authenticate?oauth_token=';
|
127 |
+
const _URL_REQUEST = 'https://api.linkedin.com/uas/oauth/requestToken';
|
128 |
+
// const _URL_REQUEST = 'https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile+r_emailaddress+rw_nus+r_network';
|
129 |
const _URL_REVOKE = 'https://api.linkedin.com/uas/oauth/invalidateToken';
|
130 |
|
131 |
// Library version
|
443 |
* http://developer.linkedin.com/docs/DOC-1327
|
444 |
*
|
445 |
* @param str $cid
|
446 |
+
* Company ID you want the product for.
|
447 |
* @param str $options
|
448 |
* [OPTIONAL] Data retrieval options.
|
449 |
*
|
672 |
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
|
673 |
curl_setopt($handle, CURLOPT_URL, $url);
|
674 |
curl_setopt($handle, CURLOPT_VERBOSE, FALSE);
|
675 |
+
|
676 |
+
if ( isset ( Hybrid_Auth::$config["proxy"] ) ) {
|
677 |
+
curl_setopt($handle, CURLOPT_PROXY, Hybrid_Auth::$config["proxy"]);
|
678 |
+
}
|
679 |
|
680 |
// configure the header we are sending to LinkedIn - http://developer.linkedin.com/docs/DOC-1203
|
681 |
$header = array($oauth_req->to_header(self::_API_OAUTH_REALM));
|
702 |
|
703 |
// gather the response
|
704 |
$return_data['linkedin'] = curl_exec($handle);
|
705 |
+
if( $return_data['linkedin'] === FALSE ) {
|
706 |
+
Hybrid_Logger::error( "LinkedIn::fetch(). curl_exec error: ", curl_error($ch) );
|
707 |
+
}
|
708 |
$return_data['info'] = curl_getinfo($handle);
|
709 |
$return_data['oauth']['header'] = $oauth_req->to_header(self::_API_OAUTH_REALM);
|
710 |
$return_data['oauth']['string'] = $oauth_req->base_string;
|
2065 |
* The group id.
|
2066 |
* @param str $xml
|
2067 |
* The group settings to set. The settings are:
|
2068 |
+
* -<show-group-logo-in-profile>
|
2069 |
* -<contact-email>
|
2070 |
* -<email-digest-frequency>
|
2071 |
+
* -<email-announcements-from-managers>
|
2072 |
* -<allow-messages-from-members>
|
2073 |
* -<email-for-every-new-post>
|
2074 |
*
|
2264 |
// send request
|
2265 |
$response = $this->fetch('POST', $share_url, $data);
|
2266 |
} else {
|
2267 |
+
// data constraints/rules not met, raise an exception
|
2268 |
throw new LinkedInException('LinkedIn->share(): sharing data constraints not met; check that you have supplied valid content and combinations of content to share.');
|
2269 |
}
|
2270 |
} else {
|
2610 |
public static function xmlToArray($xml) {
|
2611 |
// check passed data
|
2612 |
if(!is_string($xml)) {
|
2613 |
+
// bad data passed
|
2614 |
throw new LinkedInException('LinkedIn->xmlToArray(): bad data passed, $xml must be a non-zero length string.');
|
2615 |
}
|
2616 |
|
hybridauth/Hybrid/thirdparty/OAuth/OAuth.php
CHANGED
@@ -1,14 +1,15 @@
|
|
1 |
<?php
|
2 |
// http://oauth.googlecode.com/svn/code/php/OAuth.php
|
3 |
-
// rev
|
4 |
-
// modified on Dec 29, 2019 to remove OAuth PECL conflict
|
5 |
|
6 |
// vim: foldmethod=marker
|
7 |
|
8 |
/* Generic exception class
|
9 |
*/
|
10 |
-
|
11 |
-
|
|
|
|
|
12 |
}
|
13 |
|
14 |
class OAuthConsumer {
|
@@ -262,6 +263,9 @@ class OAuthRequest {
|
|
262 |
$scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
|
263 |
? 'http'
|
264 |
: 'https';
|
|
|
|
|
|
|
265 |
$http_url = ($http_url) ? $http_url : $scheme .
|
266 |
'://' . $_SERVER['SERVER_NAME'] .
|
267 |
':' .
|
@@ -447,7 +451,7 @@ class OAuthRequest {
|
|
447 |
foreach ($this->parameters as $k => $v) {
|
448 |
if (substr($k, 0, 5) != "oauth") continue;
|
449 |
if (is_array($v)) {
|
450 |
-
throw new
|
451 |
}
|
452 |
$out .= ($first) ? ' ' : ',';
|
453 |
$out .= OAuthUtil::urlencode_rfc3986($k) .
|
@@ -580,7 +584,7 @@ class OAuthServer {
|
|
580 |
$version = '1.0';
|
581 |
}
|
582 |
if ($version !== $this->version) {
|
583 |
-
throw new
|
584 |
}
|
585 |
return $version;
|
586 |
}
|
@@ -596,12 +600,12 @@ class OAuthServer {
|
|
596 |
if (!$signature_method) {
|
597 |
// According to chapter 7 ("Accessing Protected Ressources") the signature-method
|
598 |
// parameter is required, and we can't just fallback to PLAINTEXT
|
599 |
-
throw new
|
600 |
}
|
601 |
|
602 |
if (!in_array($signature_method,
|
603 |
array_keys($this->signature_methods))) {
|
604 |
-
throw new
|
605 |
"Signature method '$signature_method' not supported " .
|
606 |
"try one of the following: " .
|
607 |
implode(", ", array_keys($this->signature_methods))
|
@@ -619,12 +623,12 @@ class OAuthServer {
|
|
619 |
: NULL;
|
620 |
|
621 |
if (!$consumer_key) {
|
622 |
-
throw new
|
623 |
}
|
624 |
|
625 |
$consumer = $this->data_store->lookup_consumer($consumer_key);
|
626 |
if (!$consumer) {
|
627 |
-
throw new
|
628 |
}
|
629 |
|
630 |
return $consumer;
|
@@ -642,7 +646,7 @@ class OAuthServer {
|
|
642 |
$consumer, $token_type, $token_field
|
643 |
);
|
644 |
if (!$token) {
|
645 |
-
throw new
|
646 |
}
|
647 |
return $token;
|
648 |
}
|
@@ -674,7 +678,7 @@ class OAuthServer {
|
|
674 |
);
|
675 |
|
676 |
if (!$valid_sig) {
|
677 |
-
throw new
|
678 |
}
|
679 |
}
|
680 |
|
@@ -683,14 +687,14 @@ class OAuthServer {
|
|
683 |
*/
|
684 |
private function check_timestamp($timestamp) {
|
685 |
if( ! $timestamp )
|
686 |
-
throw new
|
687 |
'Missing timestamp parameter. The parameter is required'
|
688 |
);
|
689 |
|
690 |
// verify that timestamp is recentish
|
691 |
$now = time();
|
692 |
if (abs($now - $timestamp) > $this->timestamp_threshold) {
|
693 |
-
throw new
|
694 |
"Expired timestamp, yours $timestamp, ours $now"
|
695 |
);
|
696 |
}
|
@@ -701,7 +705,7 @@ class OAuthServer {
|
|
701 |
*/
|
702 |
private function check_nonce($consumer, $token, $nonce, $timestamp) {
|
703 |
if( ! $nonce )
|
704 |
-
throw new
|
705 |
'Missing nonce parameter. The parameter is required'
|
706 |
);
|
707 |
|
@@ -713,7 +717,7 @@ class OAuthServer {
|
|
713 |
$timestamp
|
714 |
);
|
715 |
if ($found) {
|
716 |
-
throw new
|
717 |
}
|
718 |
}
|
719 |
|
1 |
<?php
|
2 |
// http://oauth.googlecode.com/svn/code/php/OAuth.php
|
3 |
+
// rev 1276, July 4, 2014
|
|
|
4 |
|
5 |
// vim: foldmethod=marker
|
6 |
|
7 |
/* Generic exception class
|
8 |
*/
|
9 |
+
if (!class_exists('OAuthException')) {
|
10 |
+
class OAuthException extends Exception {
|
11 |
+
// pass
|
12 |
+
}
|
13 |
}
|
14 |
|
15 |
class OAuthConsumer {
|
263 |
$scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
|
264 |
? 'http'
|
265 |
: 'https';
|
266 |
+
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
|
267 |
+
$scheme = $_SERVER['HTTP_X_FORWARDED_PROTO'];
|
268 |
+
}
|
269 |
$http_url = ($http_url) ? $http_url : $scheme .
|
270 |
'://' . $_SERVER['SERVER_NAME'] .
|
271 |
':' .
|
451 |
foreach ($this->parameters as $k => $v) {
|
452 |
if (substr($k, 0, 5) != "oauth") continue;
|
453 |
if (is_array($v)) {
|
454 |
+
throw new OAuthException('Arrays not supported in headers');
|
455 |
}
|
456 |
$out .= ($first) ? ' ' : ',';
|
457 |
$out .= OAuthUtil::urlencode_rfc3986($k) .
|
584 |
$version = '1.0';
|
585 |
}
|
586 |
if ($version !== $this->version) {
|
587 |
+
throw new OAuthException("OAuth version '$version' not supported");
|
588 |
}
|
589 |
return $version;
|
590 |
}
|
600 |
if (!$signature_method) {
|
601 |
// According to chapter 7 ("Accessing Protected Ressources") the signature-method
|
602 |
// parameter is required, and we can't just fallback to PLAINTEXT
|
603 |
+
throw new OAuthException('No signature method parameter. This parameter is required');
|
604 |
}
|
605 |
|
606 |
if (!in_array($signature_method,
|
607 |
array_keys($this->signature_methods))) {
|
608 |
+
throw new OAuthException(
|
609 |
"Signature method '$signature_method' not supported " .
|
610 |
"try one of the following: " .
|
611 |
implode(", ", array_keys($this->signature_methods))
|
623 |
: NULL;
|
624 |
|
625 |
if (!$consumer_key) {
|
626 |
+
throw new OAuthException("Invalid consumer key");
|
627 |
}
|
628 |
|
629 |
$consumer = $this->data_store->lookup_consumer($consumer_key);
|
630 |
if (!$consumer) {
|
631 |
+
throw new OAuthException("Invalid consumer");
|
632 |
}
|
633 |
|
634 |
return $consumer;
|
646 |
$consumer, $token_type, $token_field
|
647 |
);
|
648 |
if (!$token) {
|
649 |
+
throw new OAuthException("Invalid $token_type token: $token_field");
|
650 |
}
|
651 |
return $token;
|
652 |
}
|
678 |
);
|
679 |
|
680 |
if (!$valid_sig) {
|
681 |
+
throw new OAuthException("Invalid signature");
|
682 |
}
|
683 |
}
|
684 |
|
687 |
*/
|
688 |
private function check_timestamp($timestamp) {
|
689 |
if( ! $timestamp )
|
690 |
+
throw new OAuthException(
|
691 |
'Missing timestamp parameter. The parameter is required'
|
692 |
);
|
693 |
|
694 |
// verify that timestamp is recentish
|
695 |
$now = time();
|
696 |
if (abs($now - $timestamp) > $this->timestamp_threshold) {
|
697 |
+
throw new OAuthException(
|
698 |
"Expired timestamp, yours $timestamp, ours $now"
|
699 |
);
|
700 |
}
|
705 |
*/
|
706 |
private function check_nonce($consumer, $token, $nonce, $timestamp) {
|
707 |
if( ! $nonce )
|
708 |
+
throw new OAuthException(
|
709 |
'Missing nonce parameter. The parameter is required'
|
710 |
);
|
711 |
|
717 |
$timestamp
|
718 |
);
|
719 |
if ($found) {
|
720 |
+
throw new OAuthException("Nonce already used: $nonce");
|
721 |
}
|
722 |
}
|
723 |
|
hybridauth/Hybrid/thirdparty/OAuth/OAuth1Client.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
// A service client for the OAuth 1/1.0a flow.
|
@@ -108,31 +108,31 @@ class OAuth1Client{
|
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
-
* GET
|
112 |
*/
|
113 |
-
function get($url, $parameters = array())
|
114 |
{
|
115 |
-
return $this->api($url, 'GET', $parameters);
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
-
* POST
|
120 |
*/
|
121 |
-
function post($url, $parameters = array())
|
122 |
{
|
123 |
-
return $this->api($url, 'POST', $parameters);
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
* Format and sign an oauth for provider api
|
128 |
*/
|
129 |
-
function api( $url, $method = 'GET', $parameters = array() )
|
130 |
{
|
131 |
if ( strrpos($url, 'http://') !== 0 && strrpos($url, 'https://') !== 0 ) {
|
132 |
$url = $this->api_base_url . $url;
|
133 |
}
|
134 |
|
135 |
-
$response = $this->signedRequest( $url, $method, $parameters );
|
136 |
|
137 |
if( $this->decode_json ){
|
138 |
$response = json_decode( $response );
|
@@ -144,20 +144,34 @@ class OAuth1Client{
|
|
144 |
/**
|
145 |
* Make signed request
|
146 |
*/
|
147 |
-
function signedRequest( $url, $method, $parameters )
|
148 |
{
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
151 |
switch ($method) {
|
152 |
-
case 'GET': return $this->request( $request->to_url(), 'GET' );
|
153 |
-
default :
|
|
|
|
|
|
|
|
|
154 |
}
|
155 |
}
|
156 |
|
157 |
/**
|
158 |
* Make http request
|
159 |
*/
|
160 |
-
function request( $url, $method, $postfields = NULL, $auth_header =
|
161 |
{
|
162 |
Hybrid_Logger::info( "Enter OAuth1Client::request( $method, $url )" );
|
163 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump post fields: ", serialize( $postfields ) );
|
@@ -174,6 +188,12 @@ class OAuth1Client{
|
|
174 |
curl_setopt( $ci, CURLOPT_SSL_VERIFYPEER, $this->curl_ssl_verifypeer );
|
175 |
curl_setopt( $ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader') );
|
176 |
curl_setopt( $ci, CURLOPT_HEADER , FALSE );
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
if($this->curl_proxy){
|
179 |
curl_setopt( $ci, CURLOPT_PROXY , $this->curl_proxy);
|
@@ -187,7 +207,7 @@ class OAuth1Client{
|
|
187 |
curl_setopt( $ci, CURLOPT_POSTFIELDS, $postfields );
|
188 |
}
|
189 |
|
190 |
-
if ( !empty($auth_header) && $this->curl_auth_header ){
|
191 |
curl_setopt( $ci, CURLOPT_HTTPHEADER, array( 'Content-Type: application/atom+xml', $auth_header ) );
|
192 |
}
|
193 |
break;
|
@@ -200,6 +220,10 @@ class OAuth1Client{
|
|
200 |
|
201 |
curl_setopt($ci, CURLOPT_URL, $url);
|
202 |
$response = curl_exec($ci);
|
|
|
|
|
|
|
|
|
203 |
|
204 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump request info: ", serialize( curl_getinfo($ci) ) );
|
205 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump request result: ", serialize( $response ) );
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
// A service client for the OAuth 1/1.0a flow.
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* GET wrapper for provider apis request
|
112 |
*/
|
113 |
+
function get($url, $parameters = array(), $content_type = NULL)
|
114 |
{
|
115 |
+
return $this->api($url, 'GET', $parameters, NULL, $content_type);
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* POST wrapper for provider apis request
|
120 |
*/
|
121 |
+
function post($url, $parameters = array(), $body = NULL, $content_type = NULL, $multipart = false)
|
122 |
{
|
123 |
+
return $this->api($url, 'POST', $parameters, $body, $content_type, $multipart );
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
* Format and sign an oauth for provider api
|
128 |
*/
|
129 |
+
function api( $url, $method = 'GET', $parameters = array(), $body = NULL, $content_type = NULL, $multipart = false )
|
130 |
{
|
131 |
if ( strrpos($url, 'http://') !== 0 && strrpos($url, 'https://') !== 0 ) {
|
132 |
$url = $this->api_base_url . $url;
|
133 |
}
|
134 |
|
135 |
+
$response = $this->signedRequest( $url, $method, $parameters, $body, $content_type, $multipart );
|
136 |
|
137 |
if( $this->decode_json ){
|
138 |
$response = json_decode( $response );
|
144 |
/**
|
145 |
* Make signed request
|
146 |
*/
|
147 |
+
function signedRequest( $url, $method, $parameters, $body = NULL, $content_type = NULL, $multipart = false )
|
148 |
{
|
149 |
+
|
150 |
+
$signature_parameters = array();
|
151 |
+
|
152 |
+
// when making a multipart request, use only oauth_* keys for signature
|
153 |
+
foreach( $parameters AS $key => $value ){
|
154 |
+
if( !$multipart || strpos( $key, 'oauth_' ) === 0 ){
|
155 |
+
$signature_parameters[$key] = $value;
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
$request = OAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $signature_parameters);
|
160 |
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
161 |
switch ($method) {
|
162 |
+
case 'GET': return $this->request( $request->to_url(), 'GET', NULL, NULL, $content_type );
|
163 |
+
default :
|
164 |
+
if ($body)
|
165 |
+
return $this->request( $request->to_url(), $method, $body, $request->to_header(), $content_type );
|
166 |
+
else
|
167 |
+
return $this->request( $request->get_normalized_http_url(), $method, ($multipart ? $parameters : $request->to_postdata()), $request->to_header(), $content_type, $multipart ) ;
|
168 |
}
|
169 |
}
|
170 |
|
171 |
/**
|
172 |
* Make http request
|
173 |
*/
|
174 |
+
function request( $url, $method, $postfields = NULL, $auth_header = NULL, $content_type = NULL, $multipart = false )
|
175 |
{
|
176 |
Hybrid_Logger::info( "Enter OAuth1Client::request( $method, $url )" );
|
177 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump post fields: ", serialize( $postfields ) );
|
188 |
curl_setopt( $ci, CURLOPT_SSL_VERIFYPEER, $this->curl_ssl_verifypeer );
|
189 |
curl_setopt( $ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader') );
|
190 |
curl_setopt( $ci, CURLOPT_HEADER , FALSE );
|
191 |
+
|
192 |
+
if( $multipart ){
|
193 |
+
curl_setopt( $ci, CURLOPT_HTTPHEADER, array( 'Expect:', $auth_header ) );
|
194 |
+
|
195 |
+
}elseif ($content_type)
|
196 |
+
curl_setopt( $ci, CURLOPT_HTTPHEADER, array('Expect:', "Content-Type: $content_type") );
|
197 |
|
198 |
if($this->curl_proxy){
|
199 |
curl_setopt( $ci, CURLOPT_PROXY , $this->curl_proxy);
|
207 |
curl_setopt( $ci, CURLOPT_POSTFIELDS, $postfields );
|
208 |
}
|
209 |
|
210 |
+
if ( !empty($auth_header) && $this->curl_auth_header && !$multipart ){
|
211 |
curl_setopt( $ci, CURLOPT_HTTPHEADER, array( 'Content-Type: application/atom+xml', $auth_header ) );
|
212 |
}
|
213 |
break;
|
220 |
|
221 |
curl_setopt($ci, CURLOPT_URL, $url);
|
222 |
$response = curl_exec($ci);
|
223 |
+
if( $response === FALSE ) {
|
224 |
+
Hybrid_Logger::error( "OAuth1Client::request(). curl_exec error: ", curl_error($ci) );
|
225 |
+
}
|
226 |
+
|
227 |
|
228 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump request info: ", serialize( curl_getinfo($ci) ) );
|
229 |
Hybrid_Logger::debug( "OAuth1Client::request(). dump request result: ", serialize( $response ) );
|
hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
-
* (c) 2009-
|
6 |
*/
|
7 |
|
8 |
// A service client for the OAuth 2 flow.
|
@@ -30,6 +30,7 @@ class OAuth2Client
|
|
30 |
public $curl_time_out = 30;
|
31 |
public $curl_connect_time_out = 30;
|
32 |
public $curl_ssl_verifypeer = false;
|
|
|
33 |
public $curl_header = array();
|
34 |
public $curl_useragent = "OAuth/2 Simple PHP Client v0.1; HybridAuth http://hybridauth.sourceforge.net/";
|
35 |
public $curl_authenticate_method = "POST";
|
@@ -61,11 +62,13 @@ class OAuth2Client
|
|
61 |
foreach( $extras as $k=>$v )
|
62 |
$params[$k] = $v;
|
63 |
|
64 |
-
return $this->authorize_url . "?" . http_build_query(
|
65 |
}
|
66 |
|
67 |
public function authenticate( $code )
|
68 |
{
|
|
|
|
|
69 |
$params = array(
|
70 |
"client_id" => $this->client_id,
|
71 |
"client_secret" => $this->client_secret,
|
@@ -73,11 +76,15 @@ class OAuth2Client
|
|
73 |
"redirect_uri" => $this->redirect_uri,
|
74 |
"code" => $code
|
75 |
);
|
|
|
|
|
76 |
|
77 |
$response = $this->request( $this->token_url, $params, $this->curl_authenticate_method );
|
78 |
|
79 |
$response = $this->parseRequestResult( $response );
|
80 |
|
|
|
|
|
81 |
if( ! $response || ! isset( $response->access_token ) ){
|
82 |
throw new Exception( "The Authorization Service has return: " . $response->error );
|
83 |
}
|
@@ -146,7 +153,7 @@ class OAuth2Client
|
|
146 |
}
|
147 |
|
148 |
/**
|
149 |
-
* GET
|
150 |
*/
|
151 |
function get( $url, $parameters = array() )
|
152 |
{
|
@@ -154,7 +161,7 @@ class OAuth2Client
|
|
154 |
}
|
155 |
|
156 |
/**
|
157 |
-
* POST
|
158 |
*/
|
159 |
function post( $url, $parameters = array() )
|
160 |
{
|
@@ -191,10 +198,10 @@ class OAuth2Client
|
|
191 |
private function request( $url, $params=false, $type="GET" )
|
192 |
{
|
193 |
Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" );
|
194 |
-
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ",
|
195 |
|
196 |
if( $type == "GET" ){
|
197 |
-
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query(
|
198 |
}
|
199 |
|
200 |
$this->http_info = array();
|
@@ -206,6 +213,7 @@ class OAuth2Client
|
|
206 |
curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent );
|
207 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out );
|
208 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer );
|
|
|
209 |
curl_setopt($ch, CURLOPT_HTTPHEADER , $this->curl_header );
|
210 |
|
211 |
if($this->curl_proxy){
|
@@ -218,8 +226,11 @@ class OAuth2Client
|
|
218 |
}
|
219 |
|
220 |
$response = curl_exec($ch);
|
221 |
-
|
222 |
-
|
|
|
|
|
|
|
223 |
|
224 |
$this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
225 |
$this->http_info = array_merge($this->http_info, curl_getinfo($ch));
|
@@ -233,11 +244,11 @@ class OAuth2Client
|
|
233 |
{
|
234 |
if( json_decode( $result ) ) return json_decode( $result );
|
235 |
|
236 |
-
parse_str( $result, $
|
237 |
|
238 |
$result = new StdClass();
|
239 |
|
240 |
-
foreach( $
|
241 |
$result->$k = $v;
|
242 |
|
243 |
return $result;
|
1 |
<?php
|
2 |
+
/**
|
3 |
* HybridAuth
|
4 |
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
*/
|
7 |
|
8 |
// A service client for the OAuth 2 flow.
|
30 |
public $curl_time_out = 30;
|
31 |
public $curl_connect_time_out = 30;
|
32 |
public $curl_ssl_verifypeer = false;
|
33 |
+
public $curl_ssl_verifyhost = false;
|
34 |
public $curl_header = array();
|
35 |
public $curl_useragent = "OAuth/2 Simple PHP Client v0.1; HybridAuth http://hybridauth.sourceforge.net/";
|
36 |
public $curl_authenticate_method = "POST";
|
62 |
foreach( $extras as $k=>$v )
|
63 |
$params[$k] = $v;
|
64 |
|
65 |
+
return $this->authorize_url . "?" . http_build_query($params, '', '&');
|
66 |
}
|
67 |
|
68 |
public function authenticate( $code )
|
69 |
{
|
70 |
+
Hybrid_Logger::info( "Enter OAuth2Client::authenticate( $code )" );
|
71 |
+
|
72 |
$params = array(
|
73 |
"client_id" => $this->client_id,
|
74 |
"client_secret" => $this->client_secret,
|
76 |
"redirect_uri" => $this->redirect_uri,
|
77 |
"code" => $code
|
78 |
);
|
79 |
+
|
80 |
+
Hybrid_Logger::debug( "OAuth2Client::authenticate(). dump request params: ", $params );
|
81 |
|
82 |
$response = $this->request( $this->token_url, $params, $this->curl_authenticate_method );
|
83 |
|
84 |
$response = $this->parseRequestResult( $response );
|
85 |
|
86 |
+
Hybrid_Logger::debug( "OAuth2Client::authenticate(). dump request response: ", $response );
|
87 |
+
|
88 |
if( ! $response || ! isset( $response->access_token ) ){
|
89 |
throw new Exception( "The Authorization Service has return: " . $response->error );
|
90 |
}
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
+
* GET wrapper for provider apis request
|
157 |
*/
|
158 |
function get( $url, $parameters = array() )
|
159 |
{
|
161 |
}
|
162 |
|
163 |
/**
|
164 |
+
* POST wrapper for provider apis request
|
165 |
*/
|
166 |
function post( $url, $parameters = array() )
|
167 |
{
|
198 |
private function request( $url, $params=false, $type="GET" )
|
199 |
{
|
200 |
Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" );
|
201 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", $params );
|
202 |
|
203 |
if( $type == "GET" ){
|
204 |
+
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query($params, '', '&');
|
205 |
}
|
206 |
|
207 |
$this->http_info = array();
|
213 |
curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent );
|
214 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out );
|
215 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer );
|
216 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , $this->curl_ssl_verifyhost );
|
217 |
curl_setopt($ch, CURLOPT_HTTPHEADER , $this->curl_header );
|
218 |
|
219 |
if($this->curl_proxy){
|
226 |
}
|
227 |
|
228 |
$response = curl_exec($ch);
|
229 |
+
if( $response === FALSE ) {
|
230 |
+
Hybrid_Logger::error( "OAuth2Client::request(). curl_exec error: ", curl_error($ch) );
|
231 |
+
}
|
232 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request info: ", curl_getinfo($ch) );
|
233 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request result: ", $response );
|
234 |
|
235 |
$this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
236 |
$this->http_info = array_merge($this->http_info, curl_getinfo($ch));
|
244 |
{
|
245 |
if( json_decode( $result ) ) return json_decode( $result );
|
246 |
|
247 |
+
parse_str( $result, $output );
|
248 |
|
249 |
$result = new StdClass();
|
250 |
|
251 |
+
foreach( $output as $k => $v )
|
252 |
$result->$k = $v;
|
253 |
|
254 |
return $result;
|
hybridauth/Hybrid/thirdparty/OpenID/LightOpenID.php
CHANGED
@@ -1,834 +1,984 @@
|
|
1 |
-
<?php
|
2 |
-
//
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
*
|
14 |
-
*
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
*
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
curl_setopt($curl,
|
168 |
-
curl_setopt($curl,
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
if($this->
|
177 |
-
curl_setopt($curl,
|
178 |
-
}
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
curl_setopt($curl,
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
$
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
$
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
$
|
243 |
-
|
244 |
-
|
245 |
-
$headers
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
$
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
$
|
341 |
-
'
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
$
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
$
|
510 |
-
if ($location) {
|
511 |
-
$url = $this->build_url(parse_url($url), parse_url($location));
|
512 |
-
|
513 |
-
}
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
#
|
601 |
-
#
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
$
|
636 |
-
'openid.
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
if ($this->
|
645 |
-
$params
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
$params
|
651 |
-
}
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
'openid.
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
}
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
#
|
734 |
-
#
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
$
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
}
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
}
|
832 |
-
|
833 |
-
|
834 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// https://github.com/iignatov/LightOpenID
|
3 |
+
|
4 |
+
/**
|
5 |
+
* This class provides a simple interface for OpenID 1.1/2.0 authentication.
|
6 |
+
*
|
7 |
+
* It requires PHP >= 5.1.2 with cURL or HTTP/HTTPS stream wrappers enabled.
|
8 |
+
*
|
9 |
+
* @version v1.1.2 2013-01-15
|
10 |
+
* @link http://gitorious.org/lightopenid Official Repo
|
11 |
+
* @link http://github.com/iignatov/LightOpenID GitHub Clone
|
12 |
+
* @author Mewp
|
13 |
+
* @copyright Copyright (c) 2010, Mewp
|
14 |
+
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
15 |
+
*/
|
16 |
+
class LightOpenID
|
17 |
+
{
|
18 |
+
public $returnUrl
|
19 |
+
, $required = array()
|
20 |
+
, $optional = array()
|
21 |
+
, $verify_peer = null
|
22 |
+
, $capath = null
|
23 |
+
, $cainfo = null
|
24 |
+
, $data
|
25 |
+
, $oauth = array();
|
26 |
+
private $identity, $claimed_id;
|
27 |
+
protected $server, $version, $trustRoot, $aliases, $identifier_select = false
|
28 |
+
, $ax = false, $sreg = false, $setup_url = null, $headers = array(), $proxy = null
|
29 |
+
, $xrds_override_pattern = null, $xrds_override_replacement = null;
|
30 |
+
static protected $ax_to_sreg = array(
|
31 |
+
'namePerson/friendly' => 'nickname',
|
32 |
+
'contact/email' => 'email',
|
33 |
+
'namePerson' => 'fullname',
|
34 |
+
'birthDate' => 'dob',
|
35 |
+
'person/gender' => 'gender',
|
36 |
+
'contact/postalCode/home' => 'postcode',
|
37 |
+
'contact/country/home' => 'country',
|
38 |
+
'pref/language' => 'language',
|
39 |
+
'pref/timezone' => 'timezone',
|
40 |
+
);
|
41 |
+
|
42 |
+
function __construct($host, $proxy = null)
|
43 |
+
{
|
44 |
+
$this->trustRoot = (strpos($host, '://') ? $host : 'http://' . $host);
|
45 |
+
if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')
|
46 |
+
|| (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
|
47 |
+
&& $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
|
48 |
+
) {
|
49 |
+
$this->trustRoot = (strpos($host, '://') ? $host : 'https://' . $host);
|
50 |
+
}
|
51 |
+
|
52 |
+
if(strlen($this->trustRoot >= 8) && ($host_end = strpos($this->trustRoot, '/', 8)) !== false) {
|
53 |
+
$this->trustRoot = substr($this->trustRoot, 0, $host_end);
|
54 |
+
}
|
55 |
+
|
56 |
+
$this->set_proxy($proxy);
|
57 |
+
|
58 |
+
$uri = rtrim(preg_replace('#((?<=\?)|&)openid\.[^&]+#', '', $_SERVER['REQUEST_URI']), '?');
|
59 |
+
$this->returnUrl = $this->trustRoot . $uri;
|
60 |
+
|
61 |
+
$this->data = ($_SERVER['REQUEST_METHOD'] === 'POST') ? $_POST : $_GET;
|
62 |
+
|
63 |
+
if(!function_exists('curl_init') && !in_array('https', stream_get_wrappers())) {
|
64 |
+
throw new ErrorException('You must have either https wrappers or curl enabled.');
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
function __set($name, $value)
|
69 |
+
{
|
70 |
+
switch ($name) {
|
71 |
+
case 'identity':
|
72 |
+
if (strlen($value = trim((String) $value))) {
|
73 |
+
if (preg_match('#^xri:/*#i', $value, $m)) {
|
74 |
+
$value = substr($value, strlen($m[0]));
|
75 |
+
} elseif (!preg_match('/^(?:[=@+\$!\(]|https?:)/i', $value)) {
|
76 |
+
$value = "http://$value";
|
77 |
+
}
|
78 |
+
if (preg_match('#^https?://[^/]+$#i', $value, $m)) {
|
79 |
+
$value .= '/';
|
80 |
+
}
|
81 |
+
}
|
82 |
+
$this->$name = $this->claimed_id = $value;
|
83 |
+
break;
|
84 |
+
case 'trustRoot':
|
85 |
+
case 'realm':
|
86 |
+
$this->trustRoot = trim($value);
|
87 |
+
break;
|
88 |
+
case 'xrdsOverride':
|
89 |
+
if (is_array($value)) {
|
90 |
+
list($pattern, $replacement) = $value;
|
91 |
+
$this->xrds_override_pattern = $pattern;
|
92 |
+
$this->xrds_override_replacement = $replacement;
|
93 |
+
} else {
|
94 |
+
trigger_error('Invalid value specified for "xrdsOverride".', E_USER_ERROR);
|
95 |
+
}
|
96 |
+
break;
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
function __get($name)
|
101 |
+
{
|
102 |
+
switch ($name) {
|
103 |
+
case 'identity':
|
104 |
+
# We return claimed_id instead of identity,
|
105 |
+
# because the developer should see the claimed identifier,
|
106 |
+
# i.e. what he set as identity, not the op-local identifier (which is what we verify)
|
107 |
+
return $this->claimed_id;
|
108 |
+
case 'trustRoot':
|
109 |
+
case 'realm':
|
110 |
+
return $this->trustRoot;
|
111 |
+
case 'mode':
|
112 |
+
return empty($this->data['openid_mode']) ? null : $this->data['openid_mode'];
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
function set_proxy($proxy)
|
117 |
+
{
|
118 |
+
if (!empty($proxy)) {
|
119 |
+
// When the proxy is a string - try to parse it.
|
120 |
+
if (!is_array($proxy)) {
|
121 |
+
$proxy = parse_url($proxy);
|
122 |
+
}
|
123 |
+
|
124 |
+
// Check if $proxy is valid after the parsing.
|
125 |
+
if ($proxy && !empty($proxy['host'])) {
|
126 |
+
// Make sure that a valid port number is specified.
|
127 |
+
if (array_key_exists('port', $proxy)) {
|
128 |
+
if (!is_int($proxy['port'])) {
|
129 |
+
$proxy['port'] = is_numeric($proxy['port']) ? intval($proxy['port']) : 0;
|
130 |
+
}
|
131 |
+
|
132 |
+
if ($proxy['port'] <= 0) {
|
133 |
+
throw new ErrorException('The specified proxy port number is invalid.');
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
$this->proxy = $proxy;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Checks if the server specified in the url exists.
|
144 |
+
*
|
145 |
+
* @param $url url to check
|
146 |
+
* @return true, if the server exists; false otherwise
|
147 |
+
*/
|
148 |
+
function hostExists($url)
|
149 |
+
{
|
150 |
+
if (strpos($url, '/') === false) {
|
151 |
+
$server = $url;
|
152 |
+
} else {
|
153 |
+
$server = @parse_url($url, PHP_URL_HOST);
|
154 |
+
}
|
155 |
+
|
156 |
+
if (!$server) {
|
157 |
+
return false;
|
158 |
+
}
|
159 |
+
|
160 |
+
return !!gethostbynamel($server);
|
161 |
+
}
|
162 |
+
|
163 |
+
protected function request_curl($url, $method='GET', $params=array(), $update_claimed_id)
|
164 |
+
{
|
165 |
+
$params = http_build_query($params, '', '&');
|
166 |
+
$curl = curl_init($url . ($method == 'GET' && $params ? '?' . $params : ''));
|
167 |
+
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
168 |
+
curl_setopt($curl, CURLOPT_HEADER, false);
|
169 |
+
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
170 |
+
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
171 |
+
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/xrds+xml, */*'));
|
172 |
+
|
173 |
+
if (!empty($this->proxy)) {
|
174 |
+
curl_setopt($curl, CURLOPT_PROXY, $this->proxy['host']);
|
175 |
+
|
176 |
+
if (!empty($this->proxy['port'])) {
|
177 |
+
curl_setopt($curl, CURLOPT_PROXYPORT, $this->proxy['port']);
|
178 |
+
}
|
179 |
+
|
180 |
+
if (!empty($this->proxy['user'])) {
|
181 |
+
curl_setopt($curl, CURLOPT_PROXYUSERPWD, $this->proxy['user'] . ':' . $this->proxy['pass']);
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
if($this->verify_peer !== null) {
|
186 |
+
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $this->verify_peer);
|
187 |
+
if($this->capath) {
|
188 |
+
curl_setopt($curl, CURLOPT_CAPATH, $this->capath);
|
189 |
+
}
|
190 |
+
|
191 |
+
if($this->cainfo) {
|
192 |
+
curl_setopt($curl, CURLOPT_CAINFO, $this->cainfo);
|
193 |
+
}
|
194 |
+
}
|
195 |
+
|
196 |
+
if ($method == 'POST') {
|
197 |
+
curl_setopt($curl, CURLOPT_POST, true);
|
198 |
+
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
|
199 |
+
} elseif ($method == 'HEAD') {
|
200 |
+
curl_setopt($curl, CURLOPT_HEADER, true);
|
201 |
+
curl_setopt($curl, CURLOPT_NOBODY, true);
|
202 |
+
} else {
|
203 |
+
curl_setopt($curl, CURLOPT_HEADER, true);
|
204 |
+
curl_setopt($curl, CURLOPT_HTTPGET, true);
|
205 |
+
}
|
206 |
+
$response = curl_exec($curl);
|
207 |
+
if( $response === FALSE ) {
|
208 |
+
Hybrid_Logger::error( "LightOpenID::request_curl(). curl_exec error: ", curl_error($curl) );
|
209 |
+
}
|
210 |
+
|
211 |
+
if($method == 'HEAD' && curl_getinfo($curl, CURLINFO_HTTP_CODE) == 405) {
|
212 |
+
curl_setopt($curl, CURLOPT_HTTPGET, true);
|
213 |
+
$response = curl_exec($curl);
|
214 |
+
$response = substr($response, 0, strpos($response, "\r\n\r\n"));
|
215 |
+
}
|
216 |
+
|
217 |
+
if($method == 'HEAD' || $method == 'GET') {
|
218 |
+
$header_response = $response;
|
219 |
+
|
220 |
+
# If it's a GET request, we want to only parse the header part.
|
221 |
+
if($method == 'GET') {
|
222 |
+
$header_response = substr($response, 0, strpos($response, "\r\n\r\n"));
|
223 |
+
}
|
224 |
+
|
225 |
+
$headers = array();
|
226 |
+
foreach(explode("\n", $header_response) as $header) {
|
227 |
+
$pos = strpos($header,':');
|
228 |
+
if ($pos !== false) {
|
229 |
+
$name = strtolower(trim(substr($header, 0, $pos)));
|
230 |
+
$headers[$name] = trim(substr($header, $pos+1));
|
231 |
+
}
|
232 |
+
}
|
233 |
+
|
234 |
+
if($update_claimed_id) {
|
235 |
+
# Updating claimed_id in case of redirections.
|
236 |
+
$effective_url = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL);
|
237 |
+
if($effective_url != $url) {
|
238 |
+
$this->identity = $this->claimed_id = $effective_url;
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
if($method == 'HEAD') {
|
243 |
+
return $headers;
|
244 |
+
} else {
|
245 |
+
$this->headers = $headers;
|
246 |
+
}
|
247 |
+
}
|
248 |
+
|
249 |
+
if (curl_errno($curl)) {
|
250 |
+
throw new ErrorException(curl_error($curl), curl_errno($curl));
|
251 |
+
}
|
252 |
+
|
253 |
+
return $response;
|
254 |
+
}
|
255 |
+
|
256 |
+
protected function parse_header_array($array, $update_claimed_id)
|
257 |
+
{
|
258 |
+
$headers = array();
|
259 |
+
foreach($array as $header) {
|
260 |
+
$pos = strpos($header,':');
|
261 |
+
if ($pos !== false) {
|
262 |
+
$name = strtolower(trim(substr($header, 0, $pos)));
|
263 |
+
$headers[$name] = trim(substr($header, $pos+1));
|
264 |
+
|
265 |
+
# Following possible redirections. The point is just to have
|
266 |
+
# claimed_id change with them, because the redirections
|
267 |
+
# are followed automatically.
|
268 |
+
# We ignore redirections with relative paths.
|
269 |
+
# If any known provider uses them, file a bug report.
|
270 |
+
if($name == 'location' && $update_claimed_id) {
|
271 |
+
if(strpos($headers[$name], 'http') === 0) {
|
272 |
+
$this->identity = $this->claimed_id = $headers[$name];
|
273 |
+
} elseif($headers[$name][0] == '/') {
|
274 |
+
$parsed_url = parse_url($this->claimed_id);
|
275 |
+
$this->identity =
|
276 |
+
$this->claimed_id = $parsed_url['scheme'] . '://'
|
277 |
+
. $parsed_url['host']
|
278 |
+
. $headers[$name];
|
279 |
+
}
|
280 |
+
}
|
281 |
+
}
|
282 |
+
}
|
283 |
+
return $headers;
|
284 |
+
}
|
285 |
+
|
286 |
+
protected function request_streams($url, $method='GET', $params=array(), $update_claimed_id)
|
287 |
+
{
|
288 |
+
if(!$this->hostExists($url)) {
|
289 |
+
throw new ErrorException("Could not connect to $url.", 404);
|
290 |
+
}
|
291 |
+
|
292 |
+
$params = http_build_query($params, '', '&');
|
293 |
+
switch($method) {
|
294 |
+
case 'GET':
|
295 |
+
$opts = array(
|
296 |
+
'http' => array(
|
297 |
+
'method' => 'GET',
|
298 |
+
'header' => 'Accept: application/xrds+xml, */*',
|
299 |
+
'ignore_errors' => true,
|
300 |
+
), 'ssl' => array(
|
301 |
+
'CN_match' => parse_url($url, PHP_URL_HOST),
|
302 |
+
),
|
303 |
+
);
|
304 |
+
$url = $url . ($params ? '?' . $params : '');
|
305 |
+
if (!empty($this->proxy)) {
|
306 |
+
$opts['http']['proxy'] = $this->proxy_url();
|
307 |
+
}
|
308 |
+
break;
|
309 |
+
case 'POST':
|
310 |
+
$opts = array(
|
311 |
+
'http' => array(
|
312 |
+
'method' => 'POST',
|
313 |
+
'header' => 'Content-type: application/x-www-form-urlencoded',
|
314 |
+
'content' => $params,
|
315 |
+
'ignore_errors' => true,
|
316 |
+
), 'ssl' => array(
|
317 |
+
'CN_match' => parse_url($url, PHP_URL_HOST),
|
318 |
+
),
|
319 |
+
);
|
320 |
+
if (!empty($this->proxy)) {
|
321 |
+
$opts['http']['proxy'] = $this->proxy_url();
|
322 |
+
}
|
323 |
+
break;
|
324 |
+
case 'HEAD':
|
325 |
+
// We want to send a HEAD request, but since get_headers() doesn't
|
326 |
+
// accept $context parameter, we have to change the defaults.
|
327 |
+
$default = stream_context_get_options(stream_context_get_default());
|
328 |
+
|
329 |
+
// PHP does not reset all options. Instead, it just sets the options
|
330 |
+
// available in the passed array, therefore set the defaults manually.
|
331 |
+
$default += array(
|
332 |
+
'http' => array(),
|
333 |
+
'ssl' => array()
|
334 |
+
);
|
335 |
+
$default['http'] += array(
|
336 |
+
'method' => 'GET',
|
337 |
+
'header' => '',
|
338 |
+
'ignore_errors' => false
|
339 |
+
);
|
340 |
+
$default['ssl'] += array(
|
341 |
+
'CN_match' => ''
|
342 |
+
);
|
343 |
+
|
344 |
+
$opts = array(
|
345 |
+
'http' => array(
|
346 |
+
'method' => 'HEAD',
|
347 |
+
'header' => 'Accept: application/xrds+xml, */*',
|
348 |
+
'ignore_errors' => true,
|
349 |
+
),
|
350 |
+
'ssl' => array(
|
351 |
+
'CN_match' => parse_url($url, PHP_URL_HOST)
|
352 |
+
)
|
353 |
+
);
|
354 |
+
|
355 |
+
// Enable validation of the SSL certificates.
|
356 |
+
if ($this->verify_peer) {
|
357 |
+
$default['ssl'] += array(
|
358 |
+
'verify_peer' => false,
|
359 |
+
'capath' => '',
|
360 |
+
'cafile' => ''
|
361 |
+
);
|
362 |
+
$opts['ssl'] += array(
|
363 |
+
'verify_peer' => true,
|
364 |
+
'capath' => $this->capath,
|
365 |
+
'cafile' => $this->cainfo
|
366 |
+
);
|
367 |
+
}
|
368 |
+
|
369 |
+
// Change the stream context options.
|
370 |
+
stream_context_get_default($opts);
|
371 |
+
|
372 |
+
$headers = get_headers($url . ($params ? '?' . $params : ''));
|
373 |
+
|
374 |
+
// Restore the stream context options.
|
375 |
+
stream_context_get_default($default);
|
376 |
+
|
377 |
+
if (!empty($headers)) {
|
378 |
+
if (intval(substr($headers[0], strlen('HTTP/1.1 '))) == 405) {
|
379 |
+
// The server doesn't support HEAD - emulate it with a GET.
|
380 |
+
$args = func_get_args();
|
381 |
+
$args[1] = 'GET';
|
382 |
+
call_user_func_array(array($this, 'request_streams'), $args);
|
383 |
+
$headers = $this->headers;
|
384 |
+
} else {
|
385 |
+
$headers = $this->parse_header_array($headers, $update_claimed_id);
|
386 |
+
}
|
387 |
+
} else {
|
388 |
+
$headers = array();
|
389 |
+
}
|
390 |
+
|
391 |
+
return $headers;
|
392 |
+
}
|
393 |
+
|
394 |
+
if ($this->verify_peer) {
|
395 |
+
$opts['ssl'] += array(
|
396 |
+
'verify_peer' => true,
|
397 |
+
'capath' => $this->capath,
|
398 |
+
'cafile' => $this->cainfo
|
399 |
+
);
|
400 |
+
}
|
401 |
+
|
402 |
+
$context = stream_context_create ($opts);
|
403 |
+
$data = file_get_contents($url, false, $context);
|
404 |
+
# This is a hack for providers who don't support HEAD requests.
|
405 |
+
# It just creates the headers array for the last request in $this->headers.
|
406 |
+
if(isset($http_response_header)) {
|
407 |
+
$this->headers = $this->parse_header_array($http_response_header, $update_claimed_id);
|
408 |
+
}
|
409 |
+
|
410 |
+
return $data;
|
411 |
+
}
|
412 |
+
|
413 |
+
protected function request($url, $method='GET', $params=array(), $update_claimed_id=false)
|
414 |
+
{
|
415 |
+
if (function_exists('curl_init')
|
416 |
+
&& (!in_array('https', stream_get_wrappers()) || !ini_get('safe_mode') && !ini_get('open_basedir'))
|
417 |
+
) {
|
418 |
+
return $this->request_curl($url, $method, $params, $update_claimed_id);
|
419 |
+
}
|
420 |
+
return $this->request_streams($url, $method, $params, $update_claimed_id);
|
421 |
+
}
|
422 |
+
|
423 |
+
protected function proxy_url()
|
424 |
+
{
|
425 |
+
$result = '';
|
426 |
+
|
427 |
+
if (!empty($this->proxy)) {
|
428 |
+
$result = $this->proxy['host'];
|
429 |
+
|
430 |
+
if (!empty($this->proxy['port'])) {
|
431 |
+
$result = $result . ':' . $this->proxy['port'];
|
432 |
+
}
|
433 |
+
|
434 |
+
if (!empty($this->proxy['user'])) {
|
435 |
+
$result = $this->proxy['user'] . ':' . $this->proxy['pass'] . '@' . $result;
|
436 |
+
}
|
437 |
+
|
438 |
+
$result = 'http://' . $result;
|
439 |
+
}
|
440 |
+
|
441 |
+
return $result;
|
442 |
+
}
|
443 |
+
|
444 |
+
protected function build_url($url, $parts)
|
445 |
+
{
|
446 |
+
if (isset($url['query'], $parts['query'])) {
|
447 |
+
$parts['query'] = $url['query'] . '&' . $parts['query'];
|
448 |
+
}
|
449 |
+
|
450 |
+
$url = $parts + $url;
|
451 |
+
$url = $url['scheme'] . '://'
|
452 |
+
. (empty($url['username'])?''
|
453 |
+
:(empty($url['password'])? "{$url['username']}@"
|
454 |
+
:"{$url['username']}:{$url['password']}@"))
|
455 |
+
. $url['host']
|
456 |
+
. (empty($url['port'])?'':":{$url['port']}")
|
457 |
+
. (empty($url['path'])?'':$url['path'])
|
458 |
+
. (empty($url['query'])?'':"?{$url['query']}")
|
459 |
+
. (empty($url['fragment'])?'':"#{$url['fragment']}");
|
460 |
+
return $url;
|
461 |
+
}
|
462 |
+
|
463 |
+
/**
|
464 |
+
* Helper function used to scan for <meta>/<link> tags and extract information
|
465 |
+
* from them
|
466 |
+
*/
|
467 |
+
protected function htmlTag($content, $tag, $attrName, $attrValue, $valueName)
|
468 |
+
{
|
469 |
+
preg_match_all("#<{$tag}[^>]*$attrName=['\"].*?$attrValue.*?['\"][^>]*$valueName=['\"](.+?)['\"][^>]*/?>#i", $content, $matches1);
|
470 |
+
preg_match_all("#<{$tag}[^>]*$valueName=['\"](.+?)['\"][^>]*$attrName=['\"].*?$attrValue.*?['\"][^>]*/?>#i", $content, $matches2);
|
471 |
+
|
472 |
+
$result = array_merge($matches1[1], $matches2[1]);
|
473 |
+
return empty($result)?false:$result[0];
|
474 |
+
}
|
475 |
+
|
476 |
+
/**
|
477 |
+
* Performs Yadis and HTML discovery. Normally not used.
|
478 |
+
* @param $url Identity URL.
|
479 |
+
* @return String OP Endpoint (i.e. OpenID provider address).
|
480 |
+
* @throws ErrorException
|
481 |
+
*/
|
482 |
+
function discover($url)
|
483 |
+
{
|
484 |
+
if (!$url) throw new ErrorException('No identity supplied.');
|
485 |
+
# Use xri.net proxy to resolve i-name identities
|
486 |
+
if (!preg_match('#^https?:#', $url)) {
|
487 |
+
$url = "https://xri.net/$url";
|
488 |
+
}
|
489 |
+
|
490 |
+
# We save the original url in case of Yadis discovery failure.
|
491 |
+
# It can happen when we'll be lead to an XRDS document
|
492 |
+
# which does not have any OpenID2 services.
|
493 |
+
$originalUrl = $url;
|
494 |
+
|
495 |
+
# A flag to disable yadis discovery in case of failure in headers.
|
496 |
+
$yadis = true;
|
497 |
+
|
498 |
+
# Allows optional regex replacement of the URL, e.g. to use Google Apps
|
499 |
+
# as an OpenID provider without setting up XRDS on the domain hosting.
|
500 |
+
if (!is_null($this->xrds_override_pattern) && !is_null($this->xrds_override_replacement)) {
|
501 |
+
$url = preg_replace($this->xrds_override_pattern, $this->xrds_override_replacement, $url);
|
502 |
+
}
|
503 |
+
|
504 |
+
# We'll jump a maximum of 5 times, to avoid endless redirections.
|
505 |
+
for ($i = 0; $i < 5; $i ++) {
|
506 |
+
if ($yadis) {
|
507 |
+
$headers = $this->request($url, 'HEAD', array(), true);
|
508 |
+
|
509 |
+
$next = false;
|
510 |
+
if (isset($headers['x-xrds-location'])) {
|
511 |
+
$url = $this->build_url(parse_url($url), parse_url(trim($headers['x-xrds-location'])));
|
512 |
+
$next = true;
|
513 |
+
}
|
514 |
+
|
515 |
+
if (isset($headers['content-type'])
|
516 |
+
&& (strpos($headers['content-type'], 'application/xrds+xml') !== false
|
517 |
+
|| strpos($headers['content-type'], 'text/xml') !== false)
|
518 |
+
) {
|
519 |
+
# Apparently, some providers return XRDS documents as text/html.
|
520 |
+
# While it is against the spec, allowing this here shouldn't break
|
521 |
+
# compatibility with anything.
|
522 |
+
# ---
|
523 |
+
# Found an XRDS document, now let's find the server, and optionally delegate.
|
524 |
+
$content = $this->request($url, 'GET');
|
525 |
+
|
526 |
+
preg_match_all('#<Service.*?>(.*?)</Service>#s', $content, $m);
|
527 |
+
foreach($m[1] as $content) {
|
528 |
+
$content = ' ' . $content; # The space is added, so that strpos doesn't return 0.
|
529 |
+
|
530 |
+
# OpenID 2
|
531 |
+
$ns = preg_quote('http://specs.openid.net/auth/2.0/', '#');
|
532 |
+
if(preg_match('#<Type>\s*'.$ns.'(server|signon)\s*</Type>#s', $content, $type)) {
|
533 |
+
if ($type[1] == 'server') $this->identifier_select = true;
|
534 |
+
|
535 |
+
preg_match('#<URI.*?>(.*)</URI>#', $content, $server);
|
536 |
+
preg_match('#<(Local|Canonical)ID>(.*)</\1ID>#', $content, $delegate);
|
537 |
+
if (empty($server)) {
|
538 |
+
return false;
|
539 |
+
}
|
540 |
+
# Does the server advertise support for either AX or SREG?
|
541 |
+
$this->ax = (bool) strpos($content, '<Type>http://openid.net/srv/ax/1.0</Type>');
|
542 |
+
$this->sreg = strpos($content, '<Type>http://openid.net/sreg/1.0</Type>')
|
543 |
+
|| strpos($content, '<Type>http://openid.net/extensions/sreg/1.1</Type>');
|
544 |
+
|
545 |
+
$server = $server[1];
|
546 |
+
if (isset($delegate[2])) $this->identity = trim($delegate[2]);
|
547 |
+
$this->version = 2;
|
548 |
+
|
549 |
+
$this->server = $server;
|
550 |
+
return $server;
|
551 |
+
}
|
552 |
+
|
553 |
+
# OpenID 1.1
|
554 |
+
$ns = preg_quote('http://openid.net/signon/1.1', '#');
|
555 |
+
if (preg_match('#<Type>\s*'.$ns.'\s*</Type>#s', $content)) {
|
556 |
+
|
557 |
+
preg_match('#<URI.*?>(.*)</URI>#', $content, $server);
|
558 |
+
preg_match('#<.*?Delegate>(.*)</.*?Delegate>#', $content, $delegate);
|
559 |
+
if (empty($server)) {
|
560 |
+
return false;
|
561 |
+
}
|
562 |
+
# AX can be used only with OpenID 2.0, so checking only SREG
|
563 |
+
$this->sreg = strpos($content, '<Type>http://openid.net/sreg/1.0</Type>')
|
564 |
+
|| strpos($content, '<Type>http://openid.net/extensions/sreg/1.1</Type>');
|
565 |
+
|
566 |
+
$server = $server[1];
|
567 |
+
if (isset($delegate[1])) $this->identity = $delegate[1];
|
568 |
+
$this->version = 1;
|
569 |
+
|
570 |
+
$this->server = $server;
|
571 |
+
return $server;
|
572 |
+
}
|
573 |
+
}
|
574 |
+
|
575 |
+
$next = true;
|
576 |
+
$yadis = false;
|
577 |
+
$url = $originalUrl;
|
578 |
+
$content = null;
|
579 |
+
break;
|
580 |
+
}
|
581 |
+
if ($next) continue;
|
582 |
+
|
583 |
+
# There are no relevant information in headers, so we search the body.
|
584 |
+
$content = $this->request($url, 'GET', array(), true);
|
585 |
+
|
586 |
+
if (isset($this->headers['x-xrds-location'])) {
|
587 |
+
$url = $this->build_url(parse_url($url), parse_url(trim($this->headers['x-xrds-location'])));
|
588 |
+
continue;
|
589 |
+
}
|
590 |
+
|
591 |
+
$location = $this->htmlTag($content, 'meta', 'http-equiv', 'X-XRDS-Location', 'content');
|
592 |
+
if ($location) {
|
593 |
+
$url = $this->build_url(parse_url($url), parse_url($location));
|
594 |
+
continue;
|
595 |
+
}
|
596 |
+
}
|
597 |
+
|
598 |
+
if (!$content) $content = $this->request($url, 'GET');
|
599 |
+
|
600 |
+
# At this point, the YADIS Discovery has failed, so we'll switch
|
601 |
+
# to openid2 HTML discovery, then fallback to openid 1.1 discovery.
|
602 |
+
$server = $this->htmlTag($content, 'link', 'rel', 'openid2.provider', 'href');
|
603 |
+
$delegate = $this->htmlTag($content, 'link', 'rel', 'openid2.local_id', 'href');
|
604 |
+
$this->version = 2;
|
605 |
+
|
606 |
+
if (!$server) {
|
607 |
+
# The same with openid 1.1
|
608 |
+
$server = $this->htmlTag($content, 'link', 'rel', 'openid.server', 'href');
|
609 |
+
$delegate = $this->htmlTag($content, 'link', 'rel', 'openid.delegate', 'href');
|
610 |
+
$this->version = 1;
|
611 |
+
}
|
612 |
+
|
613 |
+
if ($server) {
|
614 |
+
# We found an OpenID2 OP Endpoint
|
615 |
+
if ($delegate) {
|
616 |
+
# We have also found an OP-Local ID.
|
617 |
+
$this->identity = $delegate;
|
618 |
+
}
|
619 |
+
$this->server = $server;
|
620 |
+
return $server;
|
621 |
+
}
|
622 |
+
|
623 |
+
throw new ErrorException("No OpenID Server found at $url", 404);
|
624 |
+
}
|
625 |
+
throw new ErrorException('Endless redirection!', 500);
|
626 |
+
}
|
627 |
+
|
628 |
+
protected function sregParams()
|
629 |
+
{
|
630 |
+
$params = array();
|
631 |
+
# We always use SREG 1.1, even if the server is advertising only support for 1.0.
|
632 |
+
# That's because it's fully backwards compatible with 1.0, and some providers
|
633 |
+
# advertise 1.0 even if they accept only 1.1. One such provider is myopenid.com
|
634 |
+
$params['openid.ns.sreg'] = 'http://openid.net/extensions/sreg/1.1';
|
635 |
+
if ($this->required) {
|
636 |
+
$params['openid.sreg.required'] = array();
|
637 |
+
foreach ($this->required as $required) {
|
638 |
+
if (!isset(self::$ax_to_sreg[$required])) continue;
|
639 |
+
$params['openid.sreg.required'][] = self::$ax_to_sreg[$required];
|
640 |
+
}
|
641 |
+
$params['openid.sreg.required'] = implode(',', $params['openid.sreg.required']);
|
642 |
+
}
|
643 |
+
|
644 |
+
if ($this->optional) {
|
645 |
+
$params['openid.sreg.optional'] = array();
|
646 |
+
foreach ($this->optional as $optional) {
|
647 |
+
if (!isset(self::$ax_to_sreg[$optional])) continue;
|
648 |
+
$params['openid.sreg.optional'][] = self::$ax_to_sreg[$optional];
|
649 |
+
}
|
650 |
+
$params['openid.sreg.optional'] = implode(',', $params['openid.sreg.optional']);
|
651 |
+
}
|
652 |
+
return $params;
|
653 |
+
}
|
654 |
+
|
655 |
+
protected function axParams()
|
656 |
+
{
|
657 |
+
$params = array();
|
658 |
+
if ($this->required || $this->optional) {
|
659 |
+
$params['openid.ns.ax'] = 'http://openid.net/srv/ax/1.0';
|
660 |
+
$params['openid.ax.mode'] = 'fetch_request';
|
661 |
+
$this->aliases = array();
|
662 |
+
$counts = array();
|
663 |
+
$required = array();
|
664 |
+
$optional = array();
|
665 |
+
foreach (array('required','optional') as $type) {
|
666 |
+
foreach ($this->$type as $alias => $field) {
|
667 |
+
if (is_int($alias)) $alias = strtr($field, '/', '_');
|
668 |
+
$this->aliases[$alias] = 'http://axschema.org/' . $field;
|
669 |
+
if (empty($counts[$alias])) $counts[$alias] = 0;
|
670 |
+
$counts[$alias] += 1;
|
671 |
+
${$type}[] = $alias;
|
672 |
+
}
|
673 |
+
}
|
674 |
+
foreach ($this->aliases as $alias => $ns) {
|
675 |
+
$params['openid.ax.type.' . $alias] = $ns;
|
676 |
+
}
|
677 |
+
foreach ($counts as $alias => $count) {
|
678 |
+
if ($count == 1) continue;
|
679 |
+
$params['openid.ax.count.' . $alias] = $count;
|
680 |
+
}
|
681 |
+
|
682 |
+
# Don't send empty ax.required and ax.if_available.
|
683 |
+
# Google and possibly other providers refuse to support ax when one of these is empty.
|
684 |
+
if($required) {
|
685 |
+
$params['openid.ax.required'] = implode(',', $required);
|
686 |
+
}
|
687 |
+
if($optional) {
|
688 |
+
$params['openid.ax.if_available'] = implode(',', $optional);
|
689 |
+
}
|
690 |
+
}
|
691 |
+
return $params;
|
692 |
+
}
|
693 |
+
|
694 |
+
protected function authUrl_v1($immediate)
|
695 |
+
{
|
696 |
+
$returnUrl = $this->returnUrl;
|
697 |
+
# If we have an openid.delegate that is different from our claimed id,
|
698 |
+
# we need to somehow preserve the claimed id between requests.
|
699 |
+
# The simplest way is to just send it along with the return_to url.
|
700 |
+
if($this->identity != $this->claimed_id) {
|
701 |
+
$returnUrl .= (strpos($returnUrl, '?') ? '&' : '?') . 'openid.claimed_id=' . $this->claimed_id;
|
702 |
+
}
|
703 |
+
|
704 |
+
$params = array(
|
705 |
+
'openid.return_to' => $returnUrl,
|
706 |
+
'openid.mode' => $immediate ? 'checkid_immediate' : 'checkid_setup',
|
707 |
+
'openid.identity' => $this->identity,
|
708 |
+
'openid.trust_root' => $this->trustRoot,
|
709 |
+
) + $this->sregParams();
|
710 |
+
|
711 |
+
return $this->build_url(parse_url($this->server)
|
712 |
+
, array('query' => http_build_query($params, '', '&')));
|
713 |
+
}
|
714 |
+
|
715 |
+
protected function authUrl_v2($immediate)
|
716 |
+
{
|
717 |
+
$params = array(
|
718 |
+
'openid.ns' => 'http://specs.openid.net/auth/2.0',
|
719 |
+
'openid.mode' => $immediate ? 'checkid_immediate' : 'checkid_setup',
|
720 |
+
'openid.return_to' => $this->returnUrl,
|
721 |
+
'openid.realm' => $this->trustRoot,
|
722 |
+
);
|
723 |
+
|
724 |
+
if ($this->ax) {
|
725 |
+
$params += $this->axParams();
|
726 |
+
}
|
727 |
+
|
728 |
+
if ($this->sreg) {
|
729 |
+
$params += $this->sregParams();
|
730 |
+
}
|
731 |
+
|
732 |
+
if (!$this->ax && !$this->sreg) {
|
733 |
+
# If OP doesn't advertise either SREG, nor AX, let's send them both
|
734 |
+
# in worst case we don't get anything in return.
|
735 |
+
$params += $this->axParams() + $this->sregParams();
|
736 |
+
}
|
737 |
+
|
738 |
+
if (!empty($this->oauth) && is_array($this->oauth)) {
|
739 |
+
$params['openid.ns.oauth'] = 'http://specs.openid.net/extensions/oauth/1.0';
|
740 |
+
$params['openid.oauth.consumer'] = str_replace(array('http://', 'https://'), '', $this->trustRoot);
|
741 |
+
$params['openid.oauth.scope'] = implode(' ', $this->oauth);
|
742 |
+
}
|
743 |
+
|
744 |
+
if ($this->identifier_select) {
|
745 |
+
$params['openid.identity'] = $params['openid.claimed_id']
|
746 |
+
= 'http://specs.openid.net/auth/2.0/identifier_select';
|
747 |
+
} else {
|
748 |
+
$params['openid.identity'] = $this->identity;
|
749 |
+
$params['openid.claimed_id'] = $this->claimed_id;
|
750 |
+
}
|
751 |
+
|
752 |
+
return $this->build_url(parse_url($this->server)
|
753 |
+
, array('query' => http_build_query($params, '', '&')));
|
754 |
+
}
|
755 |
+
|
756 |
+
/**
|
757 |
+
* Returns authentication url. Usually, you want to redirect your user to it.
|
758 |
+
* @return String The authentication url.
|
759 |
+
* @param String $select_identifier Whether to request OP to select identity for an user in OpenID 2. Does not affect OpenID 1.
|
760 |
+
* @throws ErrorException
|
761 |
+
*/
|
762 |
+
function authUrl($immediate = false)
|
763 |
+
{
|
764 |
+
if ($this->setup_url && !$immediate) return $this->setup_url;
|
765 |
+
if (!$this->server) $this->discover($this->identity);
|
766 |
+
|
767 |
+
if ($this->version == 2) {
|
768 |
+
return $this->authUrl_v2($immediate);
|
769 |
+
}
|
770 |
+
return $this->authUrl_v1($immediate);
|
771 |
+
}
|
772 |
+
|
773 |
+
/**
|
774 |
+
* Performs OpenID verification with the OP.
|
775 |
+
* @return Bool Whether the verification was successful.
|
776 |
+
* @throws ErrorException
|
777 |
+
*/
|
778 |
+
function validate()
|
779 |
+
{
|
780 |
+
# If the request was using immediate mode, a failure may be reported
|
781 |
+
# by presenting user_setup_url (for 1.1) or reporting
|
782 |
+
# mode 'setup_needed' (for 2.0). Also catching all modes other than
|
783 |
+
# id_res, in order to avoid throwing errors.
|
784 |
+
if(isset($this->data['openid_user_setup_url'])) {
|
785 |
+
$this->setup_url = $this->data['openid_user_setup_url'];
|
786 |
+
return false;
|
787 |
+
}
|
788 |
+
if($this->mode != 'id_res') {
|
789 |
+
return false;
|
790 |
+
}
|
791 |
+
|
792 |
+
$this->claimed_id = isset($this->data['openid_claimed_id'])?$this->data['openid_claimed_id']:$this->data['openid_identity'];
|
793 |
+
$params = array(
|
794 |
+
'openid.assoc_handle' => $this->data['openid_assoc_handle'],
|
795 |
+
'openid.signed' => $this->data['openid_signed'],
|
796 |
+
'openid.sig' => $this->data['openid_sig'],
|
797 |
+
);
|
798 |
+
|
799 |
+
if (isset($this->data['openid_ns'])) {
|
800 |
+
# We're dealing with an OpenID 2.0 server, so let's set an ns
|
801 |
+
# Even though we should know location of the endpoint,
|
802 |
+
# we still need to verify it by discovery, so $server is not set here
|
803 |
+
$params['openid.ns'] = 'http://specs.openid.net/auth/2.0';
|
804 |
+
} elseif (isset($this->data['openid_claimed_id'])
|
805 |
+
&& $this->data['openid_claimed_id'] != $this->data['openid_identity']
|
806 |
+
) {
|
807 |
+
# If it's an OpenID 1 provider, and we've got claimed_id,
|
808 |
+
# we have to append it to the returnUrl, like authUrl_v1 does.
|
809 |
+
$this->returnUrl .= (strpos($this->returnUrl, '?') ? '&' : '?')
|
810 |
+
. 'openid.claimed_id=' . $this->claimed_id;
|
811 |
+
}
|
812 |
+
|
813 |
+
if ($this->data['openid_return_to'] != $this->returnUrl) {
|
814 |
+
# The return_to url must match the url of current request.
|
815 |
+
# I'm assuming that no one will set the returnUrl to something that doesn't make sense.
|
816 |
+
return false;
|
817 |
+
}
|
818 |
+
|
819 |
+
$server = $this->discover($this->claimed_id);
|
820 |
+
|
821 |
+
foreach (explode(',', $this->data['openid_signed']) as $item) {
|
822 |
+
# Checking whether magic_quotes_gpc is turned on, because
|
823 |
+
# the function may fail if it is. For example, when fetching
|
824 |
+
# AX namePerson, it might contain an apostrophe, which will be escaped.
|
825 |
+
# In such case, validation would fail, since we'd send different data than OP
|
826 |
+
# wants to verify. stripslashes() should solve that problem, but we can't
|
827 |
+
# use it when magic_quotes is off.
|
828 |
+
$value = $this->data['openid_' . str_replace('.','_',$item)];
|
829 |
+
$params['openid.' . $item] = function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() ? stripslashes($value) : $value;
|
830 |
+
|
831 |
+
}
|
832 |
+
|
833 |
+
$params['openid.mode'] = 'check_authentication';
|
834 |
+
|
835 |
+
$response = $this->request($server, 'POST', $params);
|
836 |
+
|
837 |
+
return preg_match('/is_valid\s*:\s*true/i', $response);
|
838 |
+
}
|
839 |
+
|
840 |
+
protected function getAxAttributes()
|
841 |
+
{
|
842 |
+
$result = array();
|
843 |
+
|
844 |
+
if ($alias = $this->getNamespaceAlias('http://openid.net/srv/ax/1.0', 'ax')) {
|
845 |
+
$prefix = 'openid_' . $alias;
|
846 |
+
$length = strlen('http://axschema.org/');
|
847 |
+
|
848 |
+
foreach (explode(',', $this->data['openid_signed']) as $key) {
|
849 |
+
$keyMatch = $alias . '.type.';
|
850 |
+
|
851 |
+
if (strncmp($key, $keyMatch, strlen($keyMatch)) !== 0) {
|
852 |
+
continue;
|
853 |
+
}
|
854 |
+
|
855 |
+
$key = substr($key, strlen($keyMatch));
|
856 |
+
$idv = $prefix . '_value_' . $key;
|
857 |
+
$idc = $prefix . '_count_' . $key;
|
858 |
+
$key = substr($this->getItem($prefix . '_type_' . $key), $length);
|
859 |
+
|
860 |
+
if (!empty($key)) {
|
861 |
+
if (($count = intval($this->getItem($idc))) > 0) {
|
862 |
+
$value = array();
|
863 |
+
|
864 |
+
for ($i = 1; $i <= $count; $i++) {
|
865 |
+
$value[] = $this->getItem($idv . '_' . $i);
|
866 |
+
}
|
867 |
+
|
868 |
+
$value = ($count == 1) ? reset($value) : $value;
|
869 |
+
} else {
|
870 |
+
$value = $this->getItem($idv);
|
871 |
+
}
|
872 |
+
|
873 |
+
if (!is_null($value)) {
|
874 |
+
$result[$key] = $value;
|
875 |
+
}
|
876 |
+
}
|
877 |
+
}
|
878 |
+
} else {
|
879 |
+
// No alias for the AX schema has been found,
|
880 |
+
// so there is no AX data in the OP's response.
|
881 |
+
}
|
882 |
+
|
883 |
+
return $result;
|
884 |
+
}
|
885 |
+
|
886 |
+
protected function getSregAttributes()
|
887 |
+
{
|
888 |
+
$attributes = array();
|
889 |
+
$sreg_to_ax = array_flip(self::$ax_to_sreg);
|
890 |
+
foreach (explode(',', $this->data['openid_signed']) as $key) {
|
891 |
+
$keyMatch = 'sreg.';
|
892 |
+
if (strncmp($key, $keyMatch, strlen($keyMatch)) !== 0) {
|
893 |
+
continue;
|
894 |
+
}
|
895 |
+
$key = substr($key, strlen($keyMatch));
|
896 |
+
if (!isset($sreg_to_ax[$key])) {
|
897 |
+
# The field name isn't part of the SREG spec, so we ignore it.
|
898 |
+
continue;
|
899 |
+
}
|
900 |
+
$attributes[$sreg_to_ax[$key]] = $this->data['openid_sreg_' . $key];
|
901 |
+
}
|
902 |
+
return $attributes;
|
903 |
+
}
|
904 |
+
|
905 |
+
/**
|
906 |
+
* Gets AX/SREG attributes provided by OP. should be used only after successful validation.
|
907 |
+
* Note that it does not guarantee that any of the required/optional parameters will be present,
|
908 |
+
* or that there will be no other attributes besides those specified.
|
909 |
+
* In other words. OP may provide whatever information it wants to.
|
910 |
+
* * SREG names will be mapped to AX names.
|
911 |
+
* * @return Array Array of attributes with keys being the AX schema names, e.g. 'contact/email'
|
912 |
+
* @see http://www.axschema.org/types/
|
913 |
+
*/
|
914 |
+
function getAttributes()
|
915 |
+
{
|
916 |
+
if (isset($this->data['openid_ns'])
|
917 |
+
&& $this->data['openid_ns'] == 'http://specs.openid.net/auth/2.0'
|
918 |
+
) { # OpenID 2.0
|
919 |
+
# We search for both AX and SREG attributes, with AX taking precedence.
|
920 |
+
return $this->getAxAttributes() + $this->getSregAttributes();
|
921 |
+
}
|
922 |
+
return $this->getSregAttributes();
|
923 |
+
}
|
924 |
+
|
925 |
+
/**
|
926 |
+
* Gets an OAuth request token if the OpenID+OAuth hybrid protocol has been used.
|
927 |
+
*
|
928 |
+
* In order to use the OpenID+OAuth hybrid protocol, you need to add at least one
|
929 |
+
* scope to the $openid->oauth array before you get the call to getAuthUrl(), e.g.:
|
930 |
+
* $openid->oauth[] = 'https://www.googleapis.com/auth/plus.me';
|
931 |
+
*
|
932 |
+
* Furthermore the registered consumer name must fit the OpenID realm.
|
933 |
+
* To register an OpenID consumer at Google use: https://www.google.com/accounts/ManageDomains
|
934 |
+
*
|
935 |
+
* @return string|bool OAuth request token on success, FALSE if no token was provided.
|
936 |
+
*/
|
937 |
+
function getOAuthRequestToken()
|
938 |
+
{
|
939 |
+
$alias = $this->getNamespaceAlias('http://specs.openid.net/extensions/oauth/1.0');
|
940 |
+
|
941 |
+
return !empty($alias) ? $this->data['openid_' . $alias . '_request_token'] : false;
|
942 |
+
}
|
943 |
+
|
944 |
+
/**
|
945 |
+
* Gets the alias for the specified namespace, if it's present.
|
946 |
+
*
|
947 |
+
* @param string $namespace The namespace for which an alias is needed.
|
948 |
+
* @param string $hint Common alias of this namespace, used for optimization.
|
949 |
+
* @return string|null The namespace alias if found, otherwise - NULL.
|
950 |
+
*/
|
951 |
+
private function getNamespaceAlias($namespace, $hint = null)
|
952 |
+
{
|
953 |
+
$result = null;
|
954 |
+
|
955 |
+
if (empty($hint) || $this->getItem('openid_ns_' . $hint) != $namespace) {
|
956 |
+
// The common alias is either undefined or points to
|
957 |
+
// some other extension - search for another alias..
|
958 |
+
$prefix = 'openid_ns_';
|
959 |
+
$length = strlen($prefix);
|
960 |
+
|
961 |
+
foreach ($this->data as $key => $val) {
|
962 |
+
if (strncmp($key, $prefix, $length) === 0 && $val === $namespace) {
|
963 |
+
$result = trim(substr($key, $length));
|
964 |
+
break;
|
965 |
+
}
|
966 |
+
}
|
967 |
+
} else {
|
968 |
+
$result = $hint;
|
969 |
+
}
|
970 |
+
|
971 |
+
return $result;
|
972 |
+
}
|
973 |
+
|
974 |
+
/**
|
975 |
+
* Gets an item from the $data array by the specified id.
|
976 |
+
*
|
977 |
+
* @param string $id The id of the desired item.
|
978 |
+
* @return string|null The item if found, otherwise - NULL.
|
979 |
+
*/
|
980 |
+
private function getItem($id)
|
981 |
+
{
|
982 |
+
return isset($this->data[$id]) ? $this->data[$id] : null;
|
983 |
+
}
|
984 |
+
}
|
hybridauth/Hybrid/thirdparty/Paypal/PaypalOAuth2Client.php
ADDED
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* HybridAuth
|
4 |
+
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
5 |
+
* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
6 |
+
*/
|
7 |
+
|
8 |
+
// A service client for the OAuth 2 flow.
|
9 |
+
// v0.1
|
10 |
+
class PaypalOAuth2Client extends OAuth2Client
|
11 |
+
{
|
12 |
+
public $curl_header = array(
|
13 |
+
'Accept: application/json',
|
14 |
+
'Accept-Language: en_US',
|
15 |
+
);
|
16 |
+
public $curl_useragent = "OAuth/2 Simple PHP Client v0.1; HybridAuth http://hybridauth.sourceforge.net/";
|
17 |
+
public $curl_log;
|
18 |
+
|
19 |
+
public function authenticate( $code )
|
20 |
+
{
|
21 |
+
$params = array(
|
22 |
+
"grant_type" => "authorization_code",
|
23 |
+
"code" => $code,
|
24 |
+
"redirect_uri" => $this->redirect_uri,
|
25 |
+
);
|
26 |
+
|
27 |
+
$response = $this->request( $this->token_url, $params, $this->curl_authenticate_method );
|
28 |
+
|
29 |
+
$response = $this->parseRequestResult( $response );
|
30 |
+
|
31 |
+
if( ! $response || ! isset( $response->access_token ) ){
|
32 |
+
throw new Exception( "The Authorization Service has return: " . $response->message );
|
33 |
+
}
|
34 |
+
|
35 |
+
if( isset( $response->access_token ) ) $this->access_token = $response->access_token;
|
36 |
+
if( isset( $response->refresh_token ) ) $this->refresh_token = $response->refresh_token;
|
37 |
+
if( isset( $response->expires_in ) ) $this->access_token_expires_in = $response->expires_in;
|
38 |
+
|
39 |
+
// calculate when the access token expire
|
40 |
+
if( isset($response->expires_in)) {
|
41 |
+
$this->access_token_expires_at = time() + $response->expires_in;
|
42 |
+
}
|
43 |
+
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
|
48 |
+
// -- tokens
|
49 |
+
|
50 |
+
public function tokenInfo($accesstoken)
|
51 |
+
{
|
52 |
+
$params['access_token'] = $this->access_token;
|
53 |
+
$response = $this->request( $this->token_info_url, $params, "POST" );
|
54 |
+
return $this->parseRequestResult( $response );
|
55 |
+
}
|
56 |
+
|
57 |
+
public function refreshToken( $params = array() )
|
58 |
+
{
|
59 |
+
$params = array(
|
60 |
+
"grant_type" => "refresh_token",
|
61 |
+
"refresh_token" => $this->refresh_token,
|
62 |
+
);
|
63 |
+
$response = $this->request( $this->token_url, $params, "POST" );
|
64 |
+
return $this->parseRequestResult( $response );
|
65 |
+
}
|
66 |
+
|
67 |
+
// -- utilities
|
68 |
+
|
69 |
+
private function request( $url, $params=false, $type="GET" )
|
70 |
+
{
|
71 |
+
$params = http_build_query($params, '', '&');
|
72 |
+
Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" );
|
73 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", $params );
|
74 |
+
|
75 |
+
if( $type == "GET" ){
|
76 |
+
$url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . $params;
|
77 |
+
}
|
78 |
+
|
79 |
+
$this->http_info = array();
|
80 |
+
$ch = curl_init();
|
81 |
+
|
82 |
+
$headers = $this->curl_header;
|
83 |
+
if($type == "POST" ){
|
84 |
+
//$headers[] = 'Content-Type: application/x-www-form-urlencoded';
|
85 |
+
}
|
86 |
+
|
87 |
+
curl_setopt($ch, CURLOPT_URL , $url );
|
88 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
|
89 |
+
curl_setopt($ch, CURLOPT_TIMEOUT , $this->curl_time_out );
|
90 |
+
curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent );
|
91 |
+
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out );
|
92 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer );
|
93 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , $this->curl_ssl_verifyhost );
|
94 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER , $headers );
|
95 |
+
curl_setopt($ch, CURLOPT_USERPWD , $this->client_id.':'.$this->client_secret );
|
96 |
+
// logging
|
97 |
+
if ($this->curl_log !== null) {
|
98 |
+
$fp = fopen($this->curl_log, 'a');
|
99 |
+
curl_setopt($ch, CURLOPT_STDERR , $fp );
|
100 |
+
curl_setopt($ch, CURLOPT_VERBOSE , 1 );
|
101 |
+
}
|
102 |
+
|
103 |
+
if($this->curl_proxy){
|
104 |
+
curl_setopt( $ch, CURLOPT_PROXY , $this->curl_proxy);
|
105 |
+
}
|
106 |
+
|
107 |
+
if( $type == "POST" ){
|
108 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
109 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $params );
|
110 |
+
}
|
111 |
+
|
112 |
+
$response = curl_exec($ch);
|
113 |
+
if ($this->curl_log !== null)
|
114 |
+
fclose($fp);
|
115 |
+
if( $response === FALSE ) {
|
116 |
+
Hybrid_Logger::error( "OAuth2Client::request(). curl_exec error: ", curl_error($ch) );
|
117 |
+
}
|
118 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request info: ", serialize( curl_getinfo($ch) ) );
|
119 |
+
Hybrid_Logger::debug( "OAuth2Client::request(). dump request result: ", serialize( $response ) );
|
120 |
+
|
121 |
+
$this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
122 |
+
$this->http_info = array_merge($this->http_info, curl_getinfo($ch));
|
123 |
+
|
124 |
+
curl_close ($ch);
|
125 |
+
|
126 |
+
return $response;
|
127 |
+
}
|
128 |
+
|
129 |
+
private function parseRequestResult( $result )
|
130 |
+
{
|
131 |
+
if( json_decode( $result ) ) return json_decode( $result );
|
132 |
+
|
133 |
+
parse_str( $result, $output );
|
134 |
+
|
135 |
+
$result = new StdClass();
|
136 |
+
|
137 |
+
foreach( $output as $k => $v )
|
138 |
+
$result->$k = $v;
|
139 |
+
|
140 |
+
return $result;
|
141 |
+
}
|
142 |
+
}
|
hybridauth/changes.txt
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.txt
CHANGED
@@ -1,12 +1,3 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
-
http://hybridauth.sourceforge.net
|
5 |
-
=================================
|
6 |
-
|
7 |
-
HybridAuth enables developers to easily build social applications and tools to engage websites vistors and customers on
|
8 |
-
a social level by implementing social sign-in, social sharing, users profiles, friends list, activities stream, status
|
9 |
-
updates and more.
|
10 |
-
|
11 |
-
The main goal of HybridAuth is to act as an abstract API between your application and various social apis and identities
|
12 |
-
providers such as Facebook, Twitter, MySpace and Google.
|
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/advanced/index.php
DELETED
@@ -1,111 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*!
|
3 |
-
* WordPress Social Login
|
4 |
-
*
|
5 |
-
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-2013 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
-
*/
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Advanced Advanced Settings
|
11 |
-
*/
|
12 |
-
|
13 |
-
// Exit if accessed directly
|
14 |
-
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
-
|
16 |
-
// --------------------------------------------------------------------
|
17 |
-
|
18 |
-
function wsl_component_advanced()
|
19 |
-
{
|
20 |
-
// HOOKABLE:
|
21 |
-
do_action( "wsl_component_advanced_start" );
|
22 |
-
|
23 |
-
if( ! get_option( 'wsl_settings_base_url' ) ){
|
24 |
-
update_option( 'wsl_settings_base_url', WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL );
|
25 |
-
}
|
26 |
-
|
27 |
-
if( ! get_option( 'wsl_settings_base_path' ) ){
|
28 |
-
update_option( 'wsl_settings_base_path', WORDPRESS_SOCIAL_LOGIN_ABS_PATH );
|
29 |
-
}
|
30 |
-
|
31 |
-
if( ! get_option( 'wsl_settings_hybridauth_endpoint_url' ) ){
|
32 |
-
update_option( 'wsl_settings_hybridauth_endpoint_url', WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL );
|
33 |
-
}
|
34 |
-
|
35 |
-
if( ! get_option( 'wsl_settings_top_bar_menu' ) ){
|
36 |
-
update_option( 'wsl_settings_top_bar_menu', 1 );
|
37 |
-
}
|
38 |
-
?>
|
39 |
-
<form method="post" id="wsl_setup_form" action="options.php">
|
40 |
-
<?php settings_fields( 'wsl-settings-group-advanced-settings' ); ?>
|
41 |
-
|
42 |
-
<div class="metabox-holder columns-2" id="post-body">
|
43 |
-
<div id="post-body-content">
|
44 |
-
|
45 |
-
<div id="namediv" class="stuffbox">
|
46 |
-
<h3>
|
47 |
-
<label for="name"><?php _wsl_e("Advanced Settings", 'wordpress-social-login') ?></label>
|
48 |
-
</h3>
|
49 |
-
|
50 |
-
<br />
|
51 |
-
<h2 style="text-align:center;font-size: 17px;">
|
52 |
-
<?php _wsl_e("<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you are Advanced and you know what you are doing", 'wordpress-social-login') ?>.
|
53 |
-
</h2>
|
54 |
-
<br />
|
55 |
-
|
56 |
-
<div class="inside">
|
57 |
-
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
58 |
-
<tbody>
|
59 |
-
|
60 |
-
<tr>
|
61 |
-
<td width="200" align="right"><strong><?php _wsl_e("WSL Base URL", 'wordpress-social-login') ?> :</strong></td>
|
62 |
-
<td>
|
63 |
-
<input type="text" name="wsl_settings_base_url" value="<?php echo get_option( 'wsl_settings_base_url' ); ?>" class="inputgnrc">
|
64 |
-
</td>
|
65 |
-
</tr>
|
66 |
-
|
67 |
-
<tr>
|
68 |
-
<td width="200" align="right"><strong><?php _wsl_e("WSL Base PATH", 'wordpress-social-login') ?> :</strong></td>
|
69 |
-
<td>
|
70 |
-
<input type="text" name="wsl_settings_base_path" value="<?php echo get_option( 'wsl_settings_base_path' ); ?>" class="inputgnrc">
|
71 |
-
</td>
|
72 |
-
</tr>
|
73 |
-
|
74 |
-
<tr>
|
75 |
-
<td width="200" align="right"><strong><?php _wsl_e("Hybridauth endpoint URL", 'wordpress-social-login') ?> :</strong></td>
|
76 |
-
<td>
|
77 |
-
<input type="text" name="wsl_settings_hybridauth_endpoint_url" value="<?php echo get_option( 'wsl_settings_hybridauth_endpoint_url' ); ?>" class="inputgnrc">
|
78 |
-
</td>
|
79 |
-
</tr>
|
80 |
-
|
81 |
-
<tr>
|
82 |
-
<td width="200" align="right"><strong><?php _wsl_e("WSL top bar menu", 'wordpress-social-login') ?> :</strong></td>
|
83 |
-
<td>
|
84 |
-
<select name="wsl_settings_top_bar_menu">
|
85 |
-
<option <?php if( get_option( 'wsl_settings_top_bar_menu' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Yes", 'wordpress-social-login') ?></option>
|
86 |
-
<option <?php if( get_option( 'wsl_settings_top_bar_menu' ) == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("No", 'wordpress-social-login') ?></option>
|
87 |
-
</select>
|
88 |
-
</td>
|
89 |
-
</tr>
|
90 |
-
|
91 |
-
</tbody>
|
92 |
-
</table>
|
93 |
-
</div>
|
94 |
-
</div>
|
95 |
-
|
96 |
-
<br style="clear:both;" />
|
97 |
-
<div style="margin-left:5px;margin-top:-20px;">
|
98 |
-
<input type="submit" class="button-primary" value="<?php _wsl_e("Save Settings", 'wordpress-social-login') ?>" />
|
99 |
-
</div>
|
100 |
-
|
101 |
-
</div>
|
102 |
-
</div>
|
103 |
-
</form>
|
104 |
-
<?php
|
105 |
-
// HOOKABLE:
|
106 |
-
do_action( "wsl_component_advanced_end" );
|
107 |
-
}
|
108 |
-
|
109 |
-
wsl_component_advanced();
|
110 |
-
|
111 |
-
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/admin/components/bouncer/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -22,8 +22,6 @@ function wsl_component_bouncer()
|
|
22 |
|
23 |
include "wsl.components.bouncer.setup.php";
|
24 |
include "wsl.components.bouncer.sidebar.php";
|
25 |
-
|
26 |
-
wsl_admin_welcome_panel();
|
27 |
?>
|
28 |
<form method="post" id="wsl_setup_form" action="options.php">
|
29 |
<?php settings_fields( 'wsl-settings-group-bouncer' ); ?>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
22 |
|
23 |
include "wsl.components.bouncer.setup.php";
|
24 |
include "wsl.components.bouncer.sidebar.php";
|
|
|
|
|
25 |
?>
|
26 |
<form method="post" id="wsl_setup_form" action="options.php">
|
27 |
<?php settings_fields( 'wsl-settings-group-bouncer' ); ?>
|
includes/admin/components/bouncer/wsl.components.bouncer.setup.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -24,7 +24,7 @@ function wsl_component_bouncer_setup()
|
|
24 |
|
25 |
<div id="namediv" class="stuffbox">
|
26 |
<h3>
|
27 |
-
<label
|
28 |
</h3>
|
29 |
<div class="inside">
|
30 |
<p>
|
@@ -55,14 +55,14 @@ function wsl_component_bouncer_setup()
|
|
55 |
|
56 |
<div id="namediv" class="stuffbox">
|
57 |
<h3>
|
58 |
-
<label
|
59 |
</h3>
|
60 |
<div class="inside hideinside">
|
61 |
<p>
|
62 |
<?php _wsl_e("Select required fields. If a social network doesn't return them, Bouncer will then ask your visitors to fill additional form to provide them when registering.", 'wordpress-social-login') ?>
|
63 |
</p>
|
64 |
<p class="description">
|
65 |
-
<?php _wsl_e("You may activate <b>Profile Completion</b> for both <b>E-mail</b> and <b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to avoid forms and remove
|
66 |
</p>
|
67 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
68 |
<tr>
|
@@ -89,23 +89,29 @@ function wsl_component_bouncer_setup()
|
|
89 |
|
90 |
<div id="namediv" class="stuffbox">
|
91 |
<h3>
|
92 |
-
<label
|
93 |
</h3>
|
94 |
<div class="inside hideinside">
|
95 |
<p>
|
96 |
-
<?php _wsl_e("<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new
|
97 |
</p>
|
98 |
<ul style="margin-left:30px">
|
99 |
<li><?php _wsl_e("<b>None</b>: No moderation required.", 'wordpress-social-login') ?></li>
|
100 |
<li><?php _wsl_e('<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail address before they may log in', 'wordpress-social-login') ?>.</li>
|
101 |
<li><?php _wsl_e('<b>Admin Approval</b>: New users will need to be approved by an administrator before they may log in', 'wordpress-social-login') ?>.</li>
|
102 |
</ul>
|
103 |
-
<p
|
104 |
-
<?php _wsl_e('
|
105 |
</p>
|
106 |
<p class="description">
|
107 |
-
<?php _wsl_e('<b>
|
|
|
|
|
|
|
|
|
108 |
</p>
|
|
|
|
|
109 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
110 |
<tr>
|
111 |
<td width="200" align="right"><strong><?php _wsl_e("User Moderation", 'wordpress-social-login') ?> :</strong></td>
|
@@ -123,31 +129,31 @@ function wsl_component_bouncer_setup()
|
|
123 |
|
124 |
<div id="namediv" class="stuffbox">
|
125 |
<h3>
|
126 |
-
<label
|
127 |
</h3>
|
128 |
<div class="inside hideinside">
|
129 |
<p>
|
130 |
<?php _wsl_e('Here you can define the default role for new users authenticating through WSL. The <code>Administrator</code> and <code>Editor</code> roles are not available for safety reasons', 'wordpress-social-login') ?>.
|
131 |
</p>
|
132 |
<p>
|
133 |
-
<?php _wsl_e('For more information about
|
134 |
</p>
|
135 |
<p>
|
136 |
-
<?php _wsl_e('If <b>User Moderation</b> is set to <code>Admin Approval</code> then <b>Membership level</b> will be ignored', 'wordpress-social-login') ?>.
|
137 |
</p>
|
138 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
139 |
<tr>
|
140 |
-
<td width="200" align="right"><strong><?php _wsl_e("New User Default Role", 'wordpress-social-login') ?> :</strong></td>
|
141 |
<td>
|
142 |
<select name="wsl_settings_bouncer_new_users_membership_default_role">
|
143 |
<optgroup label="<?php _wsl_e("Safe", 'wordpress-social-login') ?>:">
|
144 |
-
<option value="default" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "default"
|
145 |
<option value="wslnorole" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "wslnorole" ) echo "selected"; ?> ><?php _wsl_e("— No role for this site —", 'wordpress-social-login') ?></option>
|
146 |
-
<option value="subscriber" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "subscriber" ) echo "selected"; ?> ><?php _wsl_e("Subscriber", 'wordpress-social-login') ?></option>
|
147 |
</optgroup>
|
148 |
|
149 |
-
<optgroup label="<?php _wsl_e("Be careful with these", 'wordpress-social-login') ?>:">
|
150 |
-
<option value="
|
|
|
151 |
<option value="contributor" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "contributor" ) echo "selected"; ?> ><?php _wsl_e("Contributor", 'wordpress-social-login') ?></option>
|
152 |
</optgroup>
|
153 |
</select>
|
@@ -159,12 +165,13 @@ function wsl_component_bouncer_setup()
|
|
159 |
|
160 |
<div id="namediv" class="stuffbox">
|
161 |
<h3>
|
162 |
-
<label
|
163 |
</h3>
|
164 |
<div class="inside hideinside">
|
165 |
<p>
|
166 |
<?php _wsl_e("Restrict registration to a limited number of domains name.", 'wordpress-social-login') ?>
|
167 |
-
|
|
|
168 |
</p>
|
169 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
170 |
<tr>
|
@@ -196,12 +203,13 @@ function wsl_component_bouncer_setup()
|
|
196 |
|
197 |
<div id="namediv" class="stuffbox">
|
198 |
<h3>
|
199 |
-
<label
|
200 |
</h3>
|
201 |
<div class="inside hideinside">
|
202 |
<p>
|
203 |
<?php _wsl_e("Restrict registration to a limited number of emails addresses.", 'wordpress-social-login') ?>
|
204 |
-
|
|
|
205 |
</p>
|
206 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
207 |
<tr>
|
@@ -233,13 +241,13 @@ function wsl_component_bouncer_setup()
|
|
233 |
|
234 |
<div id="namediv" class="stuffbox">
|
235 |
<h3>
|
236 |
-
<label
|
237 |
</h3>
|
238 |
<div class="inside hideinside">
|
239 |
<p>
|
240 |
-
<?php _wsl_e("Restrict registration to a limited number of profile urls
|
241 |
-
|
242 |
-
|
243 |
</p>
|
244 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
245 |
<tr>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
24 |
|
25 |
<div id="namediv" class="stuffbox">
|
26 |
<h3>
|
27 |
+
<label><?php _wsl_e("WSL Widget", 'wordpress-social-login') ?></label>
|
28 |
</h3>
|
29 |
<div class="inside">
|
30 |
<p>
|
55 |
|
56 |
<div id="namediv" class="stuffbox">
|
57 |
<h3>
|
58 |
+
<label><?php _wsl_e("Profile Completion", 'wordpress-social-login') ?></label>
|
59 |
</h3>
|
60 |
<div class="inside hideinside">
|
61 |
<p>
|
62 |
<?php _wsl_e("Select required fields. If a social network doesn't return them, Bouncer will then ask your visitors to fill additional form to provide them when registering.", 'wordpress-social-login') ?>
|
63 |
</p>
|
64 |
<p class="description">
|
65 |
+
<?php _wsl_e("You may activate <b>Profile Completion</b> for both <b>E-mail</b> and <b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to avoid forms and to remove the hassle of registration", 'wordpress-social-login') ?>.
|
66 |
</p>
|
67 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
68 |
<tr>
|
89 |
|
90 |
<div id="namediv" class="stuffbox">
|
91 |
<h3>
|
92 |
+
<label><?php _wsl_e("User Moderation", 'wordpress-social-login') ?></label>
|
93 |
</h3>
|
94 |
<div class="inside hideinside">
|
95 |
<p>
|
96 |
+
<?php _wsl_e("<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new registered users:", 'wordpress-social-login') ?>
|
97 |
</p>
|
98 |
<ul style="margin-left:30px">
|
99 |
<li><?php _wsl_e("<b>None</b>: No moderation required.", 'wordpress-social-login') ?></li>
|
100 |
<li><?php _wsl_e('<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail address before they may log in', 'wordpress-social-login') ?>.</li>
|
101 |
<li><?php _wsl_e('<b>Admin Approval</b>: New users will need to be approved by an administrator before they may log in', 'wordpress-social-login') ?>.</li>
|
102 |
</ul>
|
103 |
+
<p>
|
104 |
+
<?php _wsl_e('<b>Notes</b>', 'wordpress-social-login') ?>:
|
105 |
</p>
|
106 |
<p class="description">
|
107 |
+
1. <?php _wsl_e('Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="http://wordpress.org/extend/plugins/theme-my-login/" target="_blank">Theme My Login Plugin</a> to be installed', 'wordpress-social-login') ?>.
|
108 |
+
<br />
|
109 |
+
2. <?php _wsl_e('<a href="http://wordpress.org/extend/plugins/theme-my-login/" target="_blank">Theme My Login</a>, is a free and open source plugin and <b>WordPress Social Login User Moderation</b> was purposely made compatible with it because it provides a solid <b>User Moderation</b> module and there is no point to reinvent the wheel', 'wordpress-social-login') ?>.
|
110 |
+
<br />
|
111 |
+
3. <?php _wsl_e('In order for this to work correctly, you will need to go to <b>Theme My Login</b> settings, then enable <b>User Moderation</b> and set <b>Moderation Type</b> to the same thing as the box bellow', 'wordpress-social-login') ?>.
|
112 |
</p>
|
113 |
+
|
114 |
+
|
115 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
116 |
<tr>
|
117 |
<td width="200" align="right"><strong><?php _wsl_e("User Moderation", 'wordpress-social-login') ?> :</strong></td>
|
129 |
|
130 |
<div id="namediv" class="stuffbox">
|
131 |
<h3>
|
132 |
+
<label><?php _wsl_e("Membership level", 'wordpress-social-login') ?></label>
|
133 |
</h3>
|
134 |
<div class="inside hideinside">
|
135 |
<p>
|
136 |
<?php _wsl_e('Here you can define the default role for new users authenticating through WSL. The <code>Administrator</code> and <code>Editor</code> roles are not available for safety reasons', 'wordpress-social-login') ?>.
|
137 |
</p>
|
138 |
<p>
|
139 |
+
<?php _wsl_e('For more information about Wordpress users roles and capabilities refer to <a href="http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table" target="_blank">http://codex.wordpress.org/Roles_and_Capabilities</a>', 'wordpress-social-login') ?>.
|
140 |
</p>
|
141 |
<p>
|
142 |
+
<?php _wsl_e('<b>Note:</b> If <b>User Moderation</b> is set to <code>Admin Approval</code> then <b>Membership level</b> will be ignored', 'wordpress-social-login') ?>.
|
143 |
</p>
|
144 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
145 |
<tr>
|
146 |
+
<td width="200" align="right" nowrap><strong><?php _wsl_e("New User Default Role", 'wordpress-social-login') ?> :</strong></td>
|
147 |
<td>
|
148 |
<select name="wsl_settings_bouncer_new_users_membership_default_role">
|
149 |
<optgroup label="<?php _wsl_e("Safe", 'wordpress-social-login') ?>:">
|
150 |
+
<option value="default" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "default" ) echo "selected"; ?> ><?php _wsl_e("— Wordpress User Default Role —", 'wordpress-social-login') ?></option>
|
151 |
<option value="wslnorole" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "wslnorole" ) echo "selected"; ?> ><?php _wsl_e("— No role for this site —", 'wordpress-social-login') ?></option>
|
|
|
152 |
</optgroup>
|
153 |
|
154 |
+
<optgroup label="<?php _wsl_e("Be careful with these roles. You may be automatically giving new users elevated capabilities", 'wordpress-social-login') ?>:">
|
155 |
+
<option value="subscriber" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "subscriber" ) echo "selected"; ?> ><?php _wsl_e("Subscriber", 'wordpress-social-login') ?></option>
|
156 |
+
<option value="author" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "author" ) echo "selected"; ?> ><?php _wsl_e("Author", 'wordpress-social-login') ?></option>
|
157 |
<option value="contributor" <?php if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) == "contributor" ) echo "selected"; ?> ><?php _wsl_e("Contributor", 'wordpress-social-login') ?></option>
|
158 |
</optgroup>
|
159 |
</select>
|
165 |
|
166 |
<div id="namediv" class="stuffbox">
|
167 |
<h3>
|
168 |
+
<label><?php _wsl_e("Filters by emails domains name", 'wordpress-social-login') ?></label>
|
169 |
</h3>
|
170 |
<div class="inside hideinside">
|
171 |
<p>
|
172 |
<?php _wsl_e("Restrict registration to a limited number of domains name.", 'wordpress-social-login') ?>
|
173 |
+
<br /><?php _wsl_e("Note that filtration domains name takes priority over filtration by e-mails addresses and profile urls", 'wordpress-social-login') ?>.
|
174 |
+
<br /><?php _wsl_e("Insert one domain address per line and try to keep this list short (ex: <code>gmail.com</code>, without '@'). On <b>Bounce text</b> insert the text you want to display for rejected users", 'wordpress-social-login') ?>.
|
175 |
</p>
|
176 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
177 |
<tr>
|
203 |
|
204 |
<div id="namediv" class="stuffbox">
|
205 |
<h3>
|
206 |
+
<label><?php _wsl_e("Filters by e-mails addresses", 'wordpress-social-login') ?></label>
|
207 |
</h3>
|
208 |
<div class="inside hideinside">
|
209 |
<p>
|
210 |
<?php _wsl_e("Restrict registration to a limited number of emails addresses.", 'wordpress-social-login') ?>
|
211 |
+
<br /><?php _wsl_e("Note that filtration e-mails addresses takes priority over filtration by profile urls", 'wordpress-social-login') ?>.
|
212 |
+
<br /><?php _wsl_e("Insert one email address per line and try to keep this list short (ex: <code>hybridauth@gmail.com</code>). On <b>Bounce text</b> insert the text you want to display for rejected users", 'wordpress-social-login') ?>.
|
213 |
</p>
|
214 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
215 |
<tr>
|
241 |
|
242 |
<div id="namediv" class="stuffbox">
|
243 |
<h3>
|
244 |
+
<label><?php _wsl_e("Filters by profile urls", 'wordpress-social-login') ?></label>
|
245 |
</h3>
|
246 |
<div class="inside hideinside">
|
247 |
<p>
|
248 |
+
<?php _wsl_e("Restrict registration to a limited number of profile urls", 'wordpress-social-login') ?>.
|
249 |
+
<br /><?php _wsl_e("<b>Note</b>: Some providers like Facebook can have multiples profiles URLs per user and WSL won't be able to recognize all them", 'wordpress-social-login') ?>.
|
250 |
+
<br /><?php _wsl_e("Insert one URL per line and try to keep this list short (ex: <code>https://twitter.com/HybridAuth</code>, <code>https://plus.google.com/u/0/108839241301472312344</code>). On <b>Bounce text</b> insert the text you want to display for rejected users", 'wordpress-social-login') ?>.
|
251 |
</p>
|
252 |
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
253 |
<tr>
|
includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -29,11 +29,11 @@ function wsl_component_bouncer_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("Hey, meet our friend, the Bouncer", 'wordpress-social-login') ?></h4>
|
31 |
|
32 |
-
<p style="margin:10px;font-size: 13px;"
|
33 |
<?php _wsl_e('Ever been in trouble with one of <a href="http://www.flickr.com/search/?q=bouncer+doorman&z=e" target="_blank">these guys</a>? Well, this module have more or less the same role, and he will try his best to piss your users off until they meet your requirements.', 'wordpress-social-login') ?>
|
34 |
</p>
|
35 |
|
36 |
-
<p style="margin:10px;font-size: 13px;"
|
37 |
<?php _wsl_e("This feature is most suited for small businesses and folks running a closed-door blog between friends or coworkers.", 'wordpress-social-login') ?>
|
38 |
</p>
|
39 |
|
@@ -50,10 +50,10 @@ function wsl_component_bouncer_sidebar()
|
|
50 |
|
51 |
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("IMPORTANT!", 'wordpress-social-login') ?></h4>
|
52 |
|
53 |
-
<p style="margin:10px;"
|
54 |
<?php _wsl_e("All the settings on this page without exception are only valid for users authenticating through <b>WordPress Social Login Widget", 'wordpress-social-login') ?></b>.
|
55 |
</p>
|
56 |
-
<p style="margin:10px;"
|
57 |
<?php _wsl_e("Users authenticating through the regulars Wordpress Login and Register pages with their usernames and passwords WILL NOT be affected.", 'wordpress-social-login') ?>
|
58 |
</p>
|
59 |
</div>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
29 |
<div style="padding:20px;padding-top:0px;">
|
30 |
<h4 style="cursor: default;border-bottom:1px solid #ccc;font-size: 13px;"><?php _wsl_e("Hey, meet our friend, the Bouncer", 'wordpress-social-login') ?></h4>
|
31 |
|
32 |
+
<p style="margin:10px;font-size: 13px;">
|
33 |
<?php _wsl_e('Ever been in trouble with one of <a href="http://www.flickr.com/search/?q=bouncer+doorman&z=e" target="_blank">these guys</a>? Well, this module have more or less the same role, and he will try his best to piss your users off until they meet your requirements.', 'wordpress-social-login') ?>
|
34 |
</p>
|
35 |
|
36 |
+
<p style="margin:10px;font-size: 13px;">
|
37 |
<?php _wsl_e("This feature is most suited for small businesses and folks running a closed-door blog between friends or coworkers.", 'wordpress-social-login') ?>
|
38 |
</p>
|
39 |
|
50 |
|
51 |
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("IMPORTANT!", 'wordpress-social-login') ?></h4>
|
52 |
|
53 |
+
<p style="margin:10px;">
|
54 |
<?php _wsl_e("All the settings on this page without exception are only valid for users authenticating through <b>WordPress Social Login Widget", 'wordpress-social-login') ?></b>.
|
55 |
</p>
|
56 |
+
<p style="margin:10px;">
|
57 |
<?php _wsl_e("Users authenticating through the regulars Wordpress Login and Register pages with their usernames and passwords WILL NOT be affected.", 'wordpress-social-login') ?>
|
58 |
</p>
|
59 |
</div>
|
includes/admin/components/buddypress/index.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* BuddyPress integration.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
function wsl_component_buddypress()
|
19 |
+
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_component_buddypress_start" );
|
22 |
+
|
23 |
+
include "wsl.components.buddypress.setup.php";
|
24 |
+
include "wsl.components.buddypress.sidebar.php";
|
25 |
+
|
26 |
+
if( ! function_exists( 'bp_has_profile' ) ){
|
27 |
+
include "wsl.components.buddypress.notfound.php";
|
28 |
+
|
29 |
+
return wsl_component_buddypress_notfound();
|
30 |
+
}
|
31 |
+
?>
|
32 |
+
<form method="post" id="wsl_setup_form" action="options.php">
|
33 |
+
<?php settings_fields( 'wsl-settings-group-buddypress' ); ?>
|
34 |
+
|
35 |
+
<div class="metabox-holder columns-2" id="post-body">
|
36 |
+
<table width="100%">
|
37 |
+
<tr valign="top">
|
38 |
+
<td>
|
39 |
+
<?php
|
40 |
+
wsl_component_buddypress_setup();
|
41 |
+
?>
|
42 |
+
</td>
|
43 |
+
<td width="10"></td>
|
44 |
+
<td width="400">
|
45 |
+
<?php
|
46 |
+
wsl_component_buddypress_sidebar();
|
47 |
+
?>
|
48 |
+
</td>
|
49 |
+
</tr>
|
50 |
+
</table>
|
51 |
+
</div>
|
52 |
+
</form>
|
53 |
+
<?php
|
54 |
+
// HOOKABLE:
|
55 |
+
do_action( "wsl_component_buddypress_end" );
|
56 |
+
}
|
57 |
+
|
58 |
+
wsl_component_buddypress();
|
59 |
+
|
60 |
+
// --------------------------------------------------------------------
|
includes/admin/components/buddypress/wsl.components.buddypress.notfound.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* BuddyPress integration.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
function wsl_component_buddypress_notfound()
|
19 |
+
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_component_buddypress_notfound_start" );
|
22 |
+
?>
|
23 |
+
<style>
|
24 |
+
#wsl_div_warn {
|
25 |
+
padding: 10px;
|
26 |
+
border: 1px solid #ddd;
|
27 |
+
background-color: #fff;
|
28 |
+
|
29 |
+
width: 55%;
|
30 |
+
margin: 0px auto;
|
31 |
+
margin-top:30px;
|
32 |
+
}
|
33 |
+
</style>
|
34 |
+
<div id="wsl_div_warn">
|
35 |
+
<h3 style="margin:0px;"><?php _wsl_e("BuddyPress plugin not found!", 'wordpress-social-login') ?></h3>
|
36 |
+
|
37 |
+
<hr />
|
38 |
+
|
39 |
+
<p>
|
40 |
+
<?php _wsl_e('<a href="https://buddypress.org/" target="_blank">BuddyPress</a> was not found on your website. The plugin is be either not installed or disabled', 'wordpress-social-login') ?> .
|
41 |
+
</p>
|
42 |
+
|
43 |
+
<p>
|
44 |
+
<?php _wsl_e("If you believe you've found a problem with <b>WordPress Social Login</b>, be sure to let us know so we can fix it", 'wordpress-social-login') ?>.
|
45 |
+
</p>
|
46 |
+
|
47 |
+
<hr />
|
48 |
+
|
49 |
+
<div>
|
50 |
+
<a class="button-secondary" href="http://hybridauth.sourceforge.net/wsl/support.html" target="_blank"><?php _wsl_e( "Report as bug", 'wordpress-social-login' ) ?></a>
|
51 |
+
<a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=components" style="float:right"><?php _wsl_e( "Check enabled components", 'wordpress-social-login' ) ?></a>
|
52 |
+
</div>
|
53 |
+
</div>
|
54 |
+
<?php
|
55 |
+
// HOOKABLE:
|
56 |
+
do_action( "wsl_component_buddypress_notfound_end" );
|
57 |
+
}
|
58 |
+
|
59 |
+
// --------------------------------------------------------------------
|
includes/admin/components/buddypress/wsl.components.buddypress.setup.php
ADDED
@@ -0,0 +1,256 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* BuddyPress integration.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
function wsl_component_buddypress_setup()
|
19 |
+
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_component_buddypress_setup_start" );
|
22 |
+
|
23 |
+
# http://hybridauth.sourceforge.net/userguide/Profile_Data_User_Profile.html
|
24 |
+
$ha_profile_fields = array(
|
25 |
+
array( 'field' => 'provider' , 'label' => _wsl__( "Provider name" , 'wordpress-social-login'), 'description' => _wsl__( "The the provider or social network name the user used to connected" , 'wordpress-social-login') ),
|
26 |
+
array( 'field' => 'identifier' , 'label' => _wsl__( "Provider user Identifier" , 'wordpress-social-login'), 'description' => _wsl__( "The Unique user's ID on the connected provider. Depending on the provider, this field can be an number, Email, URL, etc", 'wordpress-social-login') ),
|
27 |
+
array( 'field' => 'profileURL' , 'label' => _wsl__( "Profile URL" , 'wordpress-social-login'), 'description' => _wsl__( "Link to the user profile on the provider web site" , 'wordpress-social-login') ),
|
28 |
+
array( 'field' => 'webSiteURL' , 'label' => _wsl__( "Website URL" , 'wordpress-social-login'), 'description' => _wsl__( "User website, blog or web page" , 'wordpress-social-login') ),
|
29 |
+
array( 'field' => 'photoURL' , 'label' => _wsl__( "Photo URL" , 'wordpress-social-login'), 'description' => _wsl__( "Link to user picture or avatar on the provider web site" , 'wordpress-social-login') ),
|
30 |
+
array( 'field' => 'displayName' , 'label' => _wsl__( "Display name" , 'wordpress-social-login'), 'description' => _wsl__( "User Display name. If not provided by social network, WSL will return a concatenation of the user first and last name" , 'wordpress-social-login') ),
|
31 |
+
array( 'field' => 'description' , 'label' => _wsl__( "Description" , 'wordpress-social-login'), 'description' => _wsl__( "A short about me" , 'wordpress-social-login') ),
|
32 |
+
array( 'field' => 'firstName' , 'label' => _wsl__( "First name" , 'wordpress-social-login'), 'description' => _wsl__( "User's first name" , 'wordpress-social-login') ),
|
33 |
+
array( 'field' => 'lastName' , 'label' => _wsl__( "Last name" , 'wordpress-social-login'), 'description' => _wsl__( "User's last name" , 'wordpress-social-login') ),
|
34 |
+
array( 'field' => 'gender' , 'label' => _wsl__( "Gender" , 'wordpress-social-login'), 'description' => _wsl__( "User's gender. Values are 'female', 'male' or blank" , 'wordpress-social-login') ),
|
35 |
+
array( 'field' => 'language' , 'label' => _wsl__( "Language" , 'wordpress-social-login'), 'description' => _wsl__( "User's language" , 'wordpress-social-login') ),
|
36 |
+
array( 'field' => 'age' , 'label' => _wsl__( "Age" , 'wordpress-social-login'), 'description' => _wsl__( "User' age. Note that WSL do not calculate this field. We return it as it was provided" , 'wordpress-social-login') ),
|
37 |
+
array( 'field' => 'birthDay' , 'label' => _wsl__( "Birth day" , 'wordpress-social-login'), 'description' => _wsl__( "The day in the month in which the person was born. Not to confuse it with 'Birth date'" , 'wordpress-social-login') ),
|
38 |
+
array( 'field' => 'birthMonth' , 'label' => _wsl__( "Birth month" , 'wordpress-social-login'), 'description' => _wsl__( "The month in which the person was born" , 'wordpress-social-login') ),
|
39 |
+
array( 'field' => 'birthYear' , 'label' => _wsl__( "Birth year" , 'wordpress-social-login'), 'description' => _wsl__( "The year in which the person was born" , 'wordpress-social-login') ),
|
40 |
+
array( 'field' => 'birthDate' , 'label' => _wsl__( "Birth date" , 'wordpress-social-login'), 'description' => _wsl__( "Complete birthday in which the person was born. Format: YYYY-MM-DD" , 'wordpress-social-login') ),
|
41 |
+
array( 'field' => 'email' , 'label' => _wsl__( "Email" , 'wordpress-social-login'), 'description' => _wsl__( "User's email address. Not all of provider grant access to the user email" , 'wordpress-social-login') ),
|
42 |
+
array( 'field' => 'phone' , 'label' => _wsl__( "Phone" , 'wordpress-social-login'), 'description' => _wsl__( "User's phone number" , 'wordpress-social-login') ),
|
43 |
+
array( 'field' => 'address' , 'label' => _wsl__( "Address" , 'wordpress-social-login'), 'description' => _wsl__( "User's address" , 'wordpress-social-login') ),
|
44 |
+
array( 'field' => 'country' , 'label' => _wsl__( "Country" , 'wordpress-social-login'), 'description' => _wsl__( "User's country" , 'wordpress-social-login') ),
|
45 |
+
array( 'field' => 'region' , 'label' => _wsl__( "Region" , 'wordpress-social-login'), 'description' => _wsl__( "User's state or region" , 'wordpress-social-login') ),
|
46 |
+
array( 'field' => 'city' , 'label' => _wsl__( "City" , 'wordpress-social-login'), 'description' => _wsl__( "User's city" , 'wordpress-social-login') ),
|
47 |
+
array( 'field' => 'zip' , 'label' => _wsl__( "Zip" , 'wordpress-social-login'), 'description' => _wsl__( "User's zipcode" , 'wordpress-social-login') ),
|
48 |
+
);
|
49 |
+
|
50 |
+
$wsl_settings_buddypress_enable_mapping = get_option( 'wsl_settings_buddypress_enable_mapping' );
|
51 |
+
$wsl_settings_buddypress_xprofile_map = get_option( 'wsl_settings_buddypress_xprofile_map' );
|
52 |
+
|
53 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
54 |
+
?>
|
55 |
+
|
56 |
+
<div id="post-body-content">
|
57 |
+
|
58 |
+
<div class="stuffbox">
|
59 |
+
<h3>
|
60 |
+
<label><?php _wsl_e("Users avatars", 'wordpress-social-login') ?></label>
|
61 |
+
</h3>
|
62 |
+
<div class="inside">
|
63 |
+
<p>
|
64 |
+
<?php
|
65 |
+
if( get_option( 'wsl_settings_users_avatars' ) == 1 ){
|
66 |
+
_wsl_e("<b>Users avatars</b> is currently set to: <b>Display users avatars from social networks when available</b>", 'wordpress-social-login');
|
67 |
+
}
|
68 |
+
else{
|
69 |
+
_wsl_e("<b>Users avatars</b> is currently set to: <b>Display the default WordPress avatars</b>", 'wordpress-social-login');
|
70 |
+
}
|
71 |
+
?>.
|
72 |
+
</p>
|
73 |
+
|
74 |
+
<p class="description">
|
75 |
+
<?php _wsl_e("To change this setting, go to <b>Widget</b> > <b>Basic Settings</b> > <b>Users avatars</b>, then select the type of avatars that you want to display for your users", 'wordpress-social-login') ?>.
|
76 |
+
</p>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
|
80 |
+
<div class="stuffbox">
|
81 |
+
<h3>
|
82 |
+
<label><?php _wsl_e("Profile mappings", 'wordpress-social-login') ?></label>
|
83 |
+
</h3>
|
84 |
+
<div class="inside">
|
85 |
+
<p>
|
86 |
+
<?php _wsl_e("When <b>Profile mapping</b> is enabled, WSL will try to automatically fill in Buddypress users profiles from their social networks profiles", 'wordpress-social-login') ?>.
|
87 |
+
</p>
|
88 |
+
|
89 |
+
<p>
|
90 |
+
<?php _wsl_e('<b>Notes</b>', 'wordpress-social-login') ?>:
|
91 |
+
</p>
|
92 |
+
|
93 |
+
<p class="description">
|
94 |
+
1. <?php _wsl_e('<b>Profile mapping</b> will only work for new users. Profile mapping for returning users will implemented in future version of WSL', 'wordpress-social-login') ?>.
|
95 |
+
<br />
|
96 |
+
2. <?php _wsl_e('Not all the mapped fields will be filled. Some providers and social networks do not give away many information about their users', 'wordpress-social-login') ?>.
|
97 |
+
<br />
|
98 |
+
3. <?php _wsl_e('WSL can only map <b>Single Fields</b>. Supported fields types are: Multi-line Text Areax, Text Box, URL, Date Selector and Number', 'wordpress-social-login') ?>.
|
99 |
+
</p>
|
100 |
+
|
101 |
+
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
102 |
+
<tr>
|
103 |
+
<td width="200" align="right"><strong><?php _wsl_e("Enable profile mapping", 'wordpress-social-login') ?> :</strong></td>
|
104 |
+
<td>
|
105 |
+
<select name="wsl_settings_buddypress_enable_mapping" id="wsl_settings_buddypress_enable_mapping" style="width:100px" onChange="toggleMapDiv();">
|
106 |
+
<option <?php if( $wsl_settings_buddypress_enable_mapping == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Yes", 'wordpress-social-login') ?></option>
|
107 |
+
<option <?php if( $wsl_settings_buddypress_enable_mapping == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("No", 'wordpress-social-login') ?></option>
|
108 |
+
</select>
|
109 |
+
</td>
|
110 |
+
</tr>
|
111 |
+
</table>
|
112 |
+
<br>
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
|
116 |
+
<div id="xprofilemapdiv" class="stuffbox" style="<?php if( $wsl_settings_buddypress_enable_mapping == 2 ) echo "display:none;"; ?>">
|
117 |
+
<h3>
|
118 |
+
<label><?php _wsl_e("Fields Map", 'wordpress-social-login') ?></label>
|
119 |
+
</h3>
|
120 |
+
|
121 |
+
<div class="inside">
|
122 |
+
<p>
|
123 |
+
<?php _wsl_e("Here you can create a new map by placing WSL users profiles fields to the appropriate destination fields", 'wordpress-social-login') ?>.
|
124 |
+
<?php _wsl_e('The left column shows the available <b>WSL users profiles fields</b>: These select boxes are called <b>source</b> fields', 'wordpress-social-login') ?>.
|
125 |
+
<?php _wsl_e('The right column shows the list of <b>Buddypress profiles fields</b>: Those are the <b>destination</b> fields', 'wordpress-social-login') ?>.
|
126 |
+
<?php _wsl_e('If you don\'t want to map a particular Buddypress field, then leave the source for that field blank', 'wordpress-social-login') ?>.
|
127 |
+
</p>
|
128 |
+
|
129 |
+
<hr />
|
130 |
+
|
131 |
+
<?php
|
132 |
+
if ( bp_has_profile() )
|
133 |
+
{
|
134 |
+
while ( bp_profile_groups() )
|
135 |
+
{
|
136 |
+
global $group;
|
137 |
+
|
138 |
+
bp_the_profile_group();
|
139 |
+
?>
|
140 |
+
<h4><?php echo sprintf( _wsl__("Fields Group '%s'", 'wordpress-social-login'), $group->name ) ?> :</h4>
|
141 |
+
|
142 |
+
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
143 |
+
<?php
|
144 |
+
while ( bp_profile_fields() )
|
145 |
+
{
|
146 |
+
global $field;
|
147 |
+
|
148 |
+
bp_the_profile_field();
|
149 |
+
?>
|
150 |
+
<tr>
|
151 |
+
<td width="270" align="right" valign="top">
|
152 |
+
<?php
|
153 |
+
$map = isset( $wsl_settings_buddypress_xprofile_map[$field->id] ) ? $wsl_settings_buddypress_xprofile_map[$field->id] : 0;
|
154 |
+
$can_map_it = true;
|
155 |
+
|
156 |
+
if( ! in_array( $field->type, array( 'textarea', 'textbox', 'url', 'datebox', 'number' ) ) ){
|
157 |
+
$can_map_it = false;
|
158 |
+
}
|
159 |
+
?>
|
160 |
+
<select name="wsl_settings_buddypress_xprofile_map[<?php echo $field->id; ?>]" style="width:255px" id="bb_profile_mapping_selector_<?php echo $field->id; ?>" onChange="showMappingConfirm( <?php echo $field->id; ?> );" <?php if( ! $can_map_it ) echo "disabled"; ?>>
|
161 |
+
<option value=""></option>
|
162 |
+
<?php
|
163 |
+
if( $can_map_it ){
|
164 |
+
foreach( $ha_profile_fields as $item ){
|
165 |
+
?>
|
166 |
+
<option value="<?php echo $item['field']; ?>" <?php if( $item['field'] == $map ) echo "selected"; ?> ><?php echo $item['label']; ?></option>
|
167 |
+
<?php
|
168 |
+
}
|
169 |
+
}
|
170 |
+
?>
|
171 |
+
</select>
|
172 |
+
</td>
|
173 |
+
<td valign="top" align="center" width="50">
|
174 |
+
<img src="<?php echo $assets_base_url; ?>arr_right.png" />
|
175 |
+
</td>
|
176 |
+
<td valign="top">
|
177 |
+
<strong><?php echo $field->name; ?></strong>
|
178 |
+
<?php
|
179 |
+
if( ! $can_map_it ){
|
180 |
+
?>
|
181 |
+
<p class="description">
|
182 |
+
<?php _wsl_e("<b>WSL</b> can not map this field. Supported field types are: <em>Multi-line Text Areax, Text Box, URL, Date Selector and Number</em>", 'wordpress-social-login'); ?>.
|
183 |
+
</p>
|
184 |
+
<?php
|
185 |
+
}
|
186 |
+
else{
|
187 |
+
?>
|
188 |
+
<?php
|
189 |
+
foreach( $ha_profile_fields as $item ){
|
190 |
+
?>
|
191 |
+
<p class="description bb_profile_mapping_confirm_<?php echo $field->id; ?>" style="<?php if( $item['field'] != $map ) echo "display:none;"; ?>" id="bb_profile_mapping_confirm_<?php echo $field->id; ?>_<?php echo $item['field']; ?>">
|
192 |
+
<?php echo sprintf( _wsl__( "WSL <b>%s</b> is mapped to Buddypress <b>%s</b> field", 'wordpress-social-login' ), $item['label'], $field->name ); ?>.
|
193 |
+
<br />
|
194 |
+
<em><b><?php echo $item['label']; ?>:</b> <?php echo $item['description']; ?>.</em>
|
195 |
+
</p>
|
196 |
+
<?php
|
197 |
+
}
|
198 |
+
?>
|
199 |
+
<?php
|
200 |
+
}
|
201 |
+
?>
|
202 |
+
</td>
|
203 |
+
</tr>
|
204 |
+
<?php
|
205 |
+
}
|
206 |
+
?>
|
207 |
+
</table>
|
208 |
+
<?php
|
209 |
+
}
|
210 |
+
}
|
211 |
+
?>
|
212 |
+
<br>
|
213 |
+
</div>
|
214 |
+
</div>
|
215 |
+
|
216 |
+
<br />
|
217 |
+
|
218 |
+
<div style="margin-left:5px;margin-top:-20px;">
|
219 |
+
<input type="submit" class="button-primary" value="<?php _wsl_e("Save Settings", 'wordpress-social-login') ?>" />
|
220 |
+
</div>
|
221 |
+
</div>
|
222 |
+
|
223 |
+
<script>
|
224 |
+
function toggleMapDiv(){
|
225 |
+
if(typeof jQuery=="undefined"){
|
226 |
+
alert( "Error: WordPress Social Login require jQuery to be installed on your wordpress in order to work!" );
|
227 |
+
|
228 |
+
return false;
|
229 |
+
}
|
230 |
+
|
231 |
+
var em = jQuery( "#wsl_settings_buddypress_enable_mapping" ).val();
|
232 |
+
|
233 |
+
if( em == 2 ) jQuery( "#xprofilemapdiv" ).hide();
|
234 |
+
else jQuery( "#xprofilemapdiv" ).show();
|
235 |
+
}
|
236 |
+
|
237 |
+
function showMappingConfirm( field ){
|
238 |
+
if(typeof jQuery=="undefined"){
|
239 |
+
alert( "Error: WordPress Social Login require jQuery to be installed on your wordpress in order to work!" );
|
240 |
+
|
241 |
+
return false;
|
242 |
+
}
|
243 |
+
|
244 |
+
var el = jQuery( "#bb_profile_mapping_selector_" + field ).val();
|
245 |
+
|
246 |
+
jQuery( ".bb_profile_mapping_confirm_" + field ).hide();
|
247 |
+
|
248 |
+
jQuery( "#bb_profile_mapping_confirm_" + field + "_" + el ).show();
|
249 |
+
}
|
250 |
+
</script>
|
251 |
+
<?php
|
252 |
+
// HOOKABLE:
|
253 |
+
do_action( "wsl_component_buddypress_setup_end" );
|
254 |
+
}
|
255 |
+
|
256 |
+
// --------------------------------------------------------------------
|
includes/admin/components/buddypress/wsl.components.buddypress.sidebar.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* BuddyPress integration.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
function wsl_component_buddypress_sidebar()
|
19 |
+
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_component_buddypress_sidebar_start" );
|
22 |
+
?>
|
23 |
+
<div class="postbox " id="linksubmitdiv">
|
24 |
+
<div class="inside">
|
25 |
+
<div id="submitlink" class="submitbox">
|
26 |
+
<h3 style="cursor: default;"><?php _wsl_e("BuddyPress integration", 'wordpress-social-login') ?></h3>
|
27 |
+
<div id="minor-publishing">
|
28 |
+
<div id="misc-publishing-actions">
|
29 |
+
<div style="padding:20px;padding-top:0px;">
|
30 |
+
|
31 |
+
<p style="margin:10px;font-size: 13px;">
|
32 |
+
<?php _wsl_e( 'WSL can be now fully integrated with your <a href="https://buddypress.org" target="_blank">BuddyPress</a> installation. When enabled, user avatars display should work right out of the box with most WordPress themes and your BuddyPress installation', 'wordpress-social-login') ?>.
|
33 |
+
</p>
|
34 |
+
|
35 |
+
<p style="margin:10px;font-size: 13px;">
|
36 |
+
<?php _wsl_e( 'WSL also comes with BuddyPress xProfiles mappings. When this feature is enabled, WSL will try to automatically fill in Buddypress users profiles from their social networks profiles', 'wordpress-social-login') ?>.
|
37 |
+
</p>
|
38 |
+
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
<?php
|
46 |
+
// HOOKABLE:
|
47 |
+
do_action( "wsl_component_buddypress_sidebar_end" );
|
48 |
+
}
|
49 |
+
|
50 |
+
// --------------------------------------------------------------------
|
includes/admin/components/components/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
includes/admin/components/components/wsl.components.help.gallery.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -32,7 +32,7 @@ function wsl_component_components_gallery()
|
|
32 |
<style>
|
33 |
.wsl_addon_div{
|
34 |
width: 350px;
|
35 |
-
height:
|
36 |
padding: 10px;
|
37 |
border: 1px solid #ddd;
|
38 |
background-color: #fff;
|
@@ -54,22 +54,10 @@ function wsl_component_components_gallery()
|
|
54 |
}
|
55 |
</style>
|
56 |
|
57 |
-
<div class="wsl_addon_div">
|
58 |
-
<h3 style="margin:0px;"><?php _wsl_e( "WordPress Social Login for BuddyPress", 'wordpress-social-login' ) ?></h3>
|
59 |
-
<hr />
|
60 |
-
<p><?php _wsl_e( "Make WordPress Social Login compatible with BuddyPress", 'wordpress-social-login' ) ?>.</p>
|
61 |
-
<p><?php _wsl_e( "Widget integration, xProfiles mapping and more", 'wordpress-social-login' ) ?>.</p>
|
62 |
-
<div>
|
63 |
-
<a class="button button-primary thickbox" href="plugin-install.php?tab=plugin-information&plugin=wsl-buddypress&TB_iframe=true"><?php _wsl_e( "Install Now", 'wordpress-social-login' ) ?></a>
|
64 |
-
<a class="button button-secondary" href="http://wordpress.org/extend/plugins/wsl-buddypress/" target="_blank"><?php _wsl_e( "Visit plugin site", 'wordpress-social-login' ) ?></a>
|
65 |
-
</div>
|
66 |
-
</div>
|
67 |
-
|
68 |
<div class="wsl_addon_div">
|
69 |
<h3 style="margin:0px;"><?php _wsl_e( "Build yours", 'wordpress-social-login' ) ?></h3>
|
70 |
<hr />
|
71 |
-
<p><?php _wsl_e( "Looking to build your own custom <b>WordPress Social Login</b>
|
72 |
-
|
73 |
<div>
|
74 |
<a class="button button-primary" href="http://hybridauth.sourceforge.net/wsl/developer.html" target="_blank"><?php _wsl_e( "WSL Developer API", 'wordpress-social-login' ) ?></a>
|
75 |
<a class="button button-secondary" href="https://github.com/hybridauth/WordPress-Social-Login" target="_blank"><?php _wsl_e( "WSL on Github", 'wordpress-social-login' ) ?></a>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
32 |
<style>
|
33 |
.wsl_addon_div{
|
34 |
width: 350px;
|
35 |
+
height: 145px;
|
36 |
padding: 10px;
|
37 |
border: 1px solid #ddd;
|
38 |
background-color: #fff;
|
54 |
}
|
55 |
</style>
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
<div class="wsl_addon_div">
|
58 |
<h3 style="margin:0px;"><?php _wsl_e( "Build yours", 'wordpress-social-login' ) ?></h3>
|
59 |
<hr />
|
60 |
+
<p><?php _wsl_e( "Looking to build your own custom <b>WordPress Social Login</b> extension or component? Well, it's pretty easy. Just refer to WSL Developer Docs and API.", 'wordpress-social-login' ) ?></p>
|
|
|
61 |
<div>
|
62 |
<a class="button button-primary" href="http://hybridauth.sourceforge.net/wsl/developer.html" target="_blank"><?php _wsl_e( "WSL Developer API", 'wordpress-social-login' ) ?></a>
|
63 |
<a class="button button-secondary" href="https://github.com/hybridauth/WordPress-Social-Login" target="_blank"><?php _wsl_e( "WSL on Github", 'wordpress-social-login' ) ?></a>
|
includes/admin/components/components/wsl.components.help.setup.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -22,6 +22,10 @@ function wsl_component_components_setup()
|
|
22 |
|
23 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS;
|
24 |
?>
|
|
|
|
|
|
|
|
|
25 |
<form action="" method="post">
|
26 |
<table class="widefat fixed plugins" cellspacing="0">
|
27 |
<thead>
|
@@ -42,12 +46,28 @@ function wsl_component_components_setup()
|
|
42 |
|
43 |
<tbody id="the-list">
|
44 |
<?php
|
|
|
|
|
|
|
|
|
45 |
foreach( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS as $name => $settings ){
|
46 |
if( $name == "core" ){
|
47 |
continue;
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
?>
|
50 |
-
<tr id="<?php echo $name ?>" class="<?php echo $name ?> <?php
|
51 |
<td class="component-label" style="width: 190px;">
|
52 |
<?php if( $settings["type"] == "core" ): ?>
|
53 |
<div class="icon16 icon-generic"></div>
|
@@ -56,22 +76,29 @@ function wsl_component_components_setup()
|
|
56 |
<?php else: ?>
|
57 |
<div class="icon16 icon-appearance"></div>
|
58 |
<?php endif; ?>
|
|
|
59 |
<strong><?php _wsl_e( $settings["label"], 'wordpress-social-login' ) ?></strong>
|
60 |
</td>
|
61 |
<td class="column-description">
|
62 |
<p><?php _wsl_e( $settings["description"], 'wordpress-social-login' ) ?></p>
|
|
|
|
|
|
|
|
|
63 |
</td>
|
64 |
<td class="column-action" align="right" style="width: 120px;">
|
65 |
<p>
|
66 |
-
<?php if( $
|
67 |
-
|
68 |
-
|
|
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
75 |
<?php endif; ?>
|
76 |
<?php endif; ?>
|
77 |
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
22 |
|
23 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS;
|
24 |
?>
|
25 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
26 |
+
<?php _wsl_e( "By default, only the three WSL core components are enabled. You can selectively enable or disable any of the non-core components by using the form below. Your WSL installation will continue to function. However, the features of the disabled components will no longer be accessible", 'wordpress-social-login' ) ?>.
|
27 |
+
</div>
|
28 |
+
|
29 |
<form action="" method="post">
|
30 |
<table class="widefat fixed plugins" cellspacing="0">
|
31 |
<thead>
|
46 |
|
47 |
<tbody id="the-list">
|
48 |
<?php
|
49 |
+
$plugin_tr_class = '';
|
50 |
+
$plugin_notices = '';
|
51 |
+
$plugin_enablable = true;
|
52 |
+
|
53 |
foreach( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS as $name => $settings ){
|
54 |
if( $name == "core" ){
|
55 |
continue;
|
56 |
}
|
57 |
+
|
58 |
+
$plugin_tr_class = $settings["enabled"] ? "active" : "inactive";
|
59 |
+
|
60 |
+
if( $name == "buddypress" ){
|
61 |
+
if( ! function_exists( 'bp_has_profile' ) ){
|
62 |
+
$plugin_enablable = false;
|
63 |
+
|
64 |
+
$plugin_tr_class = 'active update';
|
65 |
+
|
66 |
+
$plugin_notices = _wsl__( '<a href="https://buddypress.org/" target="_blank">BuddyPress</a> Plugin was not found on your website', 'wordpress-social-login' );
|
67 |
+
}
|
68 |
+
}
|
69 |
?>
|
70 |
+
<tr id="<?php echo $name ?>" class="<?php echo $name ?> <?php echo $plugin_tr_class ?>">
|
71 |
<td class="component-label" style="width: 190px;">
|
72 |
<?php if( $settings["type"] == "core" ): ?>
|
73 |
<div class="icon16 icon-generic"></div>
|
76 |
<?php else: ?>
|
77 |
<div class="icon16 icon-appearance"></div>
|
78 |
<?php endif; ?>
|
79 |
+
|
80 |
<strong><?php _wsl_e( $settings["label"], 'wordpress-social-login' ) ?></strong>
|
81 |
</td>
|
82 |
<td class="column-description">
|
83 |
<p><?php _wsl_e( $settings["description"], 'wordpress-social-login' ) ?></p>
|
84 |
+
|
85 |
+
<?php if( $plugin_notices ): ?>
|
86 |
+
<p><em><?php echo $plugin_notices ?>.</em></p>
|
87 |
+
<?php endif; ?>
|
88 |
</td>
|
89 |
<td class="column-action" align="right" style="width: 120px;">
|
90 |
<p>
|
91 |
+
<?php if( $plugin_enablable ): ?>
|
92 |
+
<?php if( $settings["type"] == "core" && $settings["enabled"] ): ?>
|
93 |
+
<a class="button-secondary" style="color:#000000" href="options-general.php?page=wordpress-social-login&wslp=<?php echo $name ?>"><?php _wsl_e( "View", 'wordpress-social-login' ) ?></a>
|
94 |
+
<?php endif; ?>
|
95 |
|
96 |
+
<?php if( $settings["type"] != "core" ): ?>
|
97 |
+
<?php if( $settings["enabled"] ): ?>
|
98 |
+
<a class="button-secondary" href="options-general.php?page=wordpress-social-login&wslp=components&disable=<?php echo $name ?>"><?php _wsl_e( "Disable", 'wordpress-social-login' ) ?></a>
|
99 |
+
<?php else: ?>
|
100 |
+
<a class="button-primary" style="color:#ffffff" href="options-general.php?page=wordpress-social-login&wslp=components&enable=<?php echo $name ?>"><?php _wsl_e( "Enable", 'wordpress-social-login' ) ?> </a>
|
101 |
+
<?php endif; ?>
|
102 |
<?php endif; ?>
|
103 |
<?php endif; ?>
|
104 |
|
includes/admin/components/contacts/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -17,16 +17,11 @@ function wsl_component_contacts()
|
|
17 |
// HOOKABLE:
|
18 |
do_action( "wsl_component_contacts_start" );
|
19 |
|
20 |
-
GLOBAL $wpdb;
|
21 |
-
|
22 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
if(
|
27 |
-
$user_id = (int) $_REQUEST["uid"];
|
28 |
-
}
|
29 |
-
else{
|
30 |
?>
|
31 |
<form method="post" id="wsl_setup_form" action="options.php">
|
32 |
<?php settings_fields( 'wsl-settings-group-contacts-import' ); ?>
|
@@ -35,9 +30,6 @@ function wsl_component_contacts()
|
|
35 |
<div id="post-body-content">
|
36 |
|
37 |
<div id="namediv" class="stuffbox">
|
38 |
-
<h3>
|
39 |
-
<label for="name"><?php _wsl_e("Settings", 'wordpress-social-login') ?></label>
|
40 |
-
</h3>
|
41 |
<div class="inside">
|
42 |
<p>
|
43 |
<?php _wsl_e("<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a new feature. When enabled, users authenticating through WordPress Social Login will be asked for the authorisation to import their contact list. Note that some social networks do not provide certains of their users information like contacts emails, photos and or profile urls", 'wordpress-social-login') ?>.
|
@@ -83,7 +75,7 @@ function wsl_component_contacts()
|
|
83 |
</tr>
|
84 |
</table>
|
85 |
<p>
|
86 |
-
<b
|
87 |
<ul style="margin-left:40px;margin-top:0px;">
|
88 |
<li><?php _wsl_e('To enable contacts import from these social network, you need first to enabled them on the <a href="options-general.php?page=wordpress-social-login&wslp=networks"><b>Networks</b></a> tab and register the required application', 'wordpress-social-login') ?>.</li>
|
89 |
<li><?php _wsl_e("<b>WSL</b> will try to import as much information about a user contacts as he was able to pull from the social networks APIs.", 'wordpress-social-login') ?></li>
|
@@ -101,116 +93,144 @@ function wsl_component_contacts()
|
|
101 |
</div>
|
102 |
</div>
|
103 |
</form>
|
104 |
-
|
105 |
-
<br style="clear:both;" />
|
106 |
-
<hr />
|
107 |
-
<h3><?php _wsl_e("Users contacts list preview", 'wordpress-social-login') ?></h3>
|
108 |
-
<?php
|
109 |
-
} // if( isset( $_REQUEST["uid"] ) && (int) $_REQUEST["uid"] ){
|
110 |
-
|
111 |
-
if( $user_id ){
|
112 |
-
$display_name = wsl_get_user_data_by_user_id( "display_name", $user_id );
|
113 |
-
?>
|
114 |
-
<h3><?php echo sprintf( _wsl__("%s contact's list", 'wordpress-social-login'), $display_name ) ?></h3>
|
115 |
<?php
|
116 |
-
|
117 |
-
|
118 |
-
<table cellspacing="0" class="wp-list-table widefat fixed users">
|
119 |
-
<thead>
|
120 |
-
<tr>
|
121 |
-
<th width="100"><span><?php _wsl_e("Provider", 'wordpress-social-login') ?></span></th>
|
122 |
-
<th><span><?php _wsl_e("User", 'wordpress-social-login') ?></span></th>
|
123 |
-
<th><span><?php _wsl_e("Contact Name", 'wordpress-social-login') ?></span></th>
|
124 |
-
<th><span><?php _wsl_e("Contact Email", 'wordpress-social-login') ?></span></th>
|
125 |
-
<th><span><?php _wsl_e("Contact Profile Url", 'wordpress-social-login') ?></span></th>
|
126 |
-
</tr>
|
127 |
-
</thead>
|
128 |
-
<tfoot>
|
129 |
-
<tr>
|
130 |
-
<th><span><?php _wsl_e("Provider", 'wordpress-social-login') ?></span></th>
|
131 |
-
<th><span><?php _wsl_e("User", 'wordpress-social-login') ?></span></th>
|
132 |
-
<th><span><?php _wsl_e("Contact Name", 'wordpress-social-login') ?></span></th>
|
133 |
-
<th><span><?php _wsl_e("Contact Email", 'wordpress-social-login') ?></span></th>
|
134 |
-
<th><span><?php _wsl_e("Contact Profile Url", 'wordpress-social-login') ?></span></th>
|
135 |
-
</tr>
|
136 |
-
</tfoot>
|
137 |
-
<tbody id="the-list">
|
138 |
-
<?php
|
139 |
-
$sql = "SELECT * FROM `{$wpdb->prefix}wsluserscontacts` order by rand() limit 10";
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
}
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
149 |
?>
|
150 |
-
<
|
|
|
|
|
151 |
<?php
|
|
|
|
|
152 |
}
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
?>
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
<?php
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
// HOOKABLE:
|
215 |
do_action( "wsl_component_contacts_end" );
|
216 |
}
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
17 |
// HOOKABLE:
|
18 |
do_action( "wsl_component_contacts_start" );
|
19 |
|
|
|
|
|
20 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
21 |
+
|
22 |
+
$user_id = isset( $_REQUEST['uid'] ) ? (int) $_REQUEST['uid'] : 0;
|
23 |
+
|
24 |
+
if( ! $user_id ){
|
|
|
|
|
|
|
25 |
?>
|
26 |
<form method="post" id="wsl_setup_form" action="options.php">
|
27 |
<?php settings_fields( 'wsl-settings-group-contacts-import' ); ?>
|
30 |
<div id="post-body-content">
|
31 |
|
32 |
<div id="namediv" class="stuffbox">
|
|
|
|
|
|
|
33 |
<div class="inside">
|
34 |
<p>
|
35 |
<?php _wsl_e("<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a new feature. When enabled, users authenticating through WordPress Social Login will be asked for the authorisation to import their contact list. Note that some social networks do not provide certains of their users information like contacts emails, photos and or profile urls", 'wordpress-social-login') ?>.
|
75 |
</tr>
|
76 |
</table>
|
77 |
<p>
|
78 |
+
<b><?php _wsl_e("Notes", 'wordpress-social-login') ?>:</b>
|
79 |
<ul style="margin-left:40px;margin-top:0px;">
|
80 |
<li><?php _wsl_e('To enable contacts import from these social network, you need first to enabled them on the <a href="options-general.php?page=wordpress-social-login&wslp=networks"><b>Networks</b></a> tab and register the required application', 'wordpress-social-login') ?>.</li>
|
81 |
<li><?php _wsl_e("<b>WSL</b> will try to import as much information about a user contacts as he was able to pull from the social networks APIs.", 'wordpress-social-login') ?></li>
|
93 |
</div>
|
94 |
</div>
|
95 |
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
<?php
|
97 |
+
// HOOKABLE:
|
98 |
+
do_action( "wsl_component_contacts_end" );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
+
return;
|
101 |
+
} // No user selected
|
|
|
102 |
|
103 |
+
//--
|
104 |
+
|
105 |
+
$user_data = get_userdata( $user_id );
|
106 |
+
|
107 |
+
if( ! $user_data ){
|
108 |
?>
|
109 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
110 |
+
<?php _wsl_e( "WordPress user not found!", 'wordpress-social-login' ); ?>.
|
111 |
+
</div>
|
112 |
<?php
|
113 |
+
|
114 |
+
return;
|
115 |
}
|
116 |
+
|
117 |
+
$pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 1;
|
118 |
+
$limit = 25; // number of rows in page
|
119 |
+
$offset = ( $pagenum - 1 ) * $limit;
|
120 |
+
$num_of_pages = 0;
|
121 |
+
$total = wsl_get_stored_hybridauth_user_contacts_count_by_user_id( $user_id );
|
122 |
+
$num_of_pages = ceil( $total / $limit );
|
123 |
+
?>
|
124 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
125 |
+
<p style="float: right; margin: 0px;margin-top: -4px;">
|
126 |
+
<a class="button button-secondary" href="user-edit.php?user_id=<?php echo $user_id ?>"><?php _wsl_e("Edit user details", 'wordpress-social-login'); ?></a>
|
127 |
+
<a class="button button-secondary" href="options-general.php?page=wordpress-social-login&wslp=users&uid=<?php echo $user_id ?>"><?php _wsl_e("Show user WSL profiles", 'wordpress-social-login'); ?></a>
|
128 |
+
</p>
|
129 |
+
|
130 |
+
<?php echo sprintf( _wsl__("<b>%s</b> contact's list", 'wordpress-social-login'), $user_data->display_name ) ?>.
|
131 |
+
<?php echo sprintf( _wsl__("This user have <b>%d</b> contacts in his list in total", 'wordpress-social-login'), $total ) ?>.
|
132 |
+
</div>
|
133 |
+
|
134 |
+
<style>
|
135 |
+
.widefatop td, .widefatop th { border: 1px solid #DDDDDD; }
|
136 |
+
.widefatop th label { font-weight: bold; }
|
137 |
+
</style>
|
138 |
+
|
139 |
+
<h3><?php _wsl_e("Wordpress user profile", 'wordpress-social-login'); ?></h3>
|
140 |
+
|
141 |
+
<table class="wp-list-table widefat widefatop">
|
142 |
+
<tr><th width="200"><label><?php _wsl_e("Wordpress User ID", 'wordpress-social-login'); ?></label></th><td><?php echo $user_data->ID; ?></td></tr>
|
143 |
+
<tr><th width="200"><label><?php _wsl_e("Username", 'wordpress-social-login'); ?></label></th><td><?php echo $user_data->user_login; ?></td></tr>
|
144 |
+
<tr><th><label><?php _wsl_e("Display name", 'wordpress-social-login'); ?></label></th><td><?php echo $user_data->display_name; ?></td></tr>
|
145 |
+
<tr><th><label><?php _wsl_e("E-mail", 'wordpress-social-login'); ?></label></th><td><a href="mailto:<?php echo $user_data->user_email; ?>" target="_blank"><?php echo $user_data->user_email; ?></a></td></tr>
|
146 |
+
<tr><th><label><?php _wsl_e("Website", 'wordpress-social-login'); ?></label></th><td><a href="<?php echo $user_data->user_url; ?>" target="_blank"><?php echo $user_data->user_url; ?></a></td></tr>
|
147 |
+
<tr><th><label><?php _wsl_e("Registered", 'wordpress-social-login'); ?></label></th><td><?php echo $user_data->user_registered; ?></td></tr>
|
148 |
+
</tr>
|
149 |
+
</table>
|
150 |
+
|
151 |
+
<hr />
|
152 |
+
|
153 |
+
<h3><?php _wsl_e("List of contacts", 'wordpress-social-login'); ?></h3>
|
154 |
+
|
155 |
+
<table cellspacing="0" class="wp-list-table widefat fixed users">
|
156 |
+
<thead>
|
157 |
+
<tr>
|
158 |
+
<th width="100"><span><?php _wsl_e("Provider", 'wordpress-social-login') ?></span></th>
|
159 |
+
<th><span><?php _wsl_e("Contact Name", 'wordpress-social-login') ?></span></th>
|
160 |
+
<th><span><?php _wsl_e("Contact Email", 'wordpress-social-login') ?></span></th>
|
161 |
+
<th><span><?php _wsl_e("Contact Profile Url", 'wordpress-social-login') ?></span></th>
|
162 |
+
</tr>
|
163 |
+
</thead>
|
164 |
+
<tfoot>
|
165 |
+
<tr>
|
166 |
+
<th width="100"><span><?php _wsl_e("Provider", 'wordpress-social-login') ?></span></th>
|
167 |
+
<th><span><?php _wsl_e("Contact Name", 'wordpress-social-login') ?></span></th>
|
168 |
+
<th><span><?php _wsl_e("Contact Email", 'wordpress-social-login') ?></span></th>
|
169 |
+
<th><span><?php _wsl_e("Contact Profile Url", 'wordpress-social-login') ?></span></th>
|
170 |
+
</tr>
|
171 |
+
</tfoot>
|
172 |
+
<tbody id="the-list">
|
173 |
+
<?php
|
174 |
+
$data = wsl_get_stored_hybridauth_user_contacts_by_user_id( $user_id, $offset, $limit );
|
175 |
+
|
176 |
+
// have contacts?
|
177 |
+
if( ! $data ){
|
178 |
?>
|
179 |
+
<tr class="no-items"><td colspan="5" class="colspanchange"><?php _wsl_e("No contacts found", 'wordpress-social-login') ?>.</td></tr>
|
180 |
+
<?php
|
181 |
+
}
|
182 |
+
else{
|
183 |
+
$i = 0;
|
184 |
+
foreach( $data as $item ){
|
185 |
+
?>
|
186 |
+
<tr class="<?php if( ++$i % 2 ) echo "alternate" ?>">
|
187 |
+
<td nowrap>
|
188 |
+
<img src="<?php echo $assets_base_url . strtolower( $item->provider ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php echo $item->provider ?>
|
189 |
+
</td>
|
190 |
+
<td>
|
191 |
+
<?php if( $item->photo_url ) { ?>
|
192 |
+
<img width="32" height="32" class="avatar avatar-32 photo" align="middle" src="<?php echo $item->photo_url ?>" >
|
193 |
+
<?php } else { ?>
|
194 |
+
<img width="32" height="32" class="avatar avatar-32 photo" align="middle" src="http://www.gravatar.com/avatar/<?php echo md5( strtolower( trim( $item->email ) ) ); ?>" >
|
195 |
+
<?php } ?>
|
196 |
+
|
197 |
+
<strong><?php echo $item->full_name ? $item->full_name : '-'; ?></strong>
|
198 |
+
</td>
|
199 |
+
<td>
|
200 |
+
<?php if( $item->email ) { ?>
|
201 |
+
<a href="mailto:<?php echo $item->email; ?>"><?php echo $item->email; ?></a>
|
202 |
+
<?php } else { ?>
|
203 |
+
-
|
204 |
+
<?php } ?>
|
205 |
+
</td>
|
206 |
+
<td>
|
207 |
+
<?php if( $item->profile_url ) { ?>
|
208 |
+
<a href="<?php echo $item->profile_url ?>" target="_blank"><?php echo str_ireplace( array("http://www.", "https://www.", "http://","https://"), array('','','','',''), $item->profile_url ) ?></a>
|
209 |
+
<?php } else { ?>
|
210 |
+
-
|
211 |
+
<?php } ?>
|
212 |
+
</td>
|
213 |
+
</tr>
|
214 |
+
<?php
|
215 |
+
}
|
216 |
+
}
|
217 |
+
?>
|
218 |
+
</tbody>
|
219 |
+
</table>
|
220 |
<?php
|
221 |
+
$page_links = paginate_links( array(
|
222 |
+
'base' => add_query_arg( 'pagenum', '%#%' ),
|
223 |
+
'format' => '',
|
224 |
+
'prev_text' => __( '«', 'text-domain' ),
|
225 |
+
'next_text' => __( '»', 'text-domain' ),
|
226 |
+
'total' => $num_of_pages,
|
227 |
+
'current' => $pagenum
|
228 |
+
) );
|
229 |
+
|
230 |
+
if ( $page_links ) {
|
231 |
+
echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>';
|
232 |
+
}
|
233 |
+
|
234 |
// HOOKABLE:
|
235 |
do_action( "wsl_component_contacts_end" );
|
236 |
}
|
includes/admin/components/diagnostics/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -16,55 +16,72 @@ function wsl_component_diagnostics()
|
|
16 |
{
|
17 |
// HOOKABLE:
|
18 |
do_action( "wsl_component_diagnostics_start" );
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
<h3><?php _wsl_e("Requirements test", 'wordpress-social-login') ?></h3>
|
25 |
-
|
26 |
-
<p style="margin-left:25px;font-size: 14px;">
|
27 |
-
<?php _wsl_e('In order for <b>WordPress Social Login</b> to work properly, your server should meet certain requirements. These "requirements" <br />and "services" are usually offered by default by most "modern" web hosting providers, however some complications may <br />occur with <b>shared hosting</b> and, or <b>custom wordpress installations</b>', 'wordpress-social-login') ?>.
|
28 |
-
</p>
|
29 |
-
<p style="margin-left:25px;font-size: 14px;">
|
30 |
-
<?php _wsl_e("The minimum server requirements are", 'wordpress-social-login') ?>:
|
31 |
-
</p>
|
32 |
-
<ul style="margin-left:60px;">
|
33 |
-
<li><?php _wsl_e("PHP >= 5.2.0 installed", 'wordpress-social-login') ?></li>
|
34 |
-
<li><?php _wsl_e("WSL Endpoint URLs reachable", 'wordpress-social-login') ?></li>
|
35 |
-
<li><?php _wsl_e("PHP's default SESSION handling", 'wordpress-social-login') ?></li>
|
36 |
-
<li><?php _wsl_e("PHP/CURL/SSL Extension enabled", 'wordpress-social-login') ?></li>
|
37 |
-
<li><?php _wsl_e("PHP/JSON Extension enabled", 'wordpress-social-login') ?></li>
|
38 |
-
<li><?php _wsl_e("PHP/REGISTER_GLOBALS Off", 'wordpress-social-login') ?></li>
|
39 |
-
<li><?php _wsl_e("jQuery installed on WordPress backoffice", 'wordpress-social-login') ?></li>
|
40 |
-
</ul>
|
41 |
-
<p style="margin-left:25px;margin-top:25px;">
|
42 |
-
<?php _wsl_e("You can run the <b>WordPress Social Login Requirements Test</b> by clicking the button bellow", 'wordpress-social-login') ?>:
|
43 |
-
|
44 |
-
<br />
|
45 |
-
<br />
|
46 |
-
<a class="button-primary" href='<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/services/diagnostics.php' target='_blank'><?php _wsl_e("Run the plugin requirements test", 'wordpress-social-login') ?></a>
|
47 |
-
<a class="button-primary" href='<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/services/siteinfo.php' target='_blank'><?php _wsl_e("Website Information", 'wordpress-social-login') ?></a>.
|
48 |
-
</p>
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
<br />
|
51 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
|
|
|
|
54 |
|
55 |
-
|
56 |
-
|
|
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</form>
|
67 |
</div>
|
|
|
68 |
<?php
|
69 |
// HOOKABLE:
|
70 |
do_action( "wsl_component_diagnostics_end" );
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
16 |
{
|
17 |
// HOOKABLE:
|
18 |
do_action( "wsl_component_diagnostics_start" );
|
19 |
+
|
20 |
+
$wsl_settings_development_mode_enabled = get_option( 'wsl_settings_development_mode_enabled' );
|
21 |
+
?>
|
22 |
+
<div style="padding: 20px; border: 1px solid #ddd; background-color: #fff;">
|
23 |
+
<h3><?php _wsl_e("Requirements test", 'wordpress-social-login') ?></h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
+
<p style="margin-left:25px;font-size: 14px;">
|
26 |
+
<?php _wsl_e('In order for <b>WordPress Social Login</b> to work properly, your server should meet certain requirements. These "requirements" and "services" are usually offered by default by most "modern" web hosting providers, however some complications may occur with <b>shared hosting</b> and, or <b>custom wordpress installations</b>', 'wordpress-social-login') ?>.
|
27 |
+
</p>
|
28 |
+
<p style="margin-left:25px;font-size: 14px;">
|
29 |
+
<?php _wsl_e("The minimum server requirements are", 'wordpress-social-login') ?>:
|
30 |
+
</p>
|
31 |
+
<ul style="margin-left:60px;">
|
32 |
+
<li><?php _wsl_e("PHP >= 5.2.0 installed", 'wordpress-social-login') ?></li>
|
33 |
+
<li><?php _wsl_e("WSL Endpoint URLs reachable", 'wordpress-social-login') ?></li>
|
34 |
+
<li><?php _wsl_e("PHP's default SESSION handling", 'wordpress-social-login') ?></li>
|
35 |
+
<li><?php _wsl_e("PHP/CURL/SSL Extension enabled", 'wordpress-social-login') ?></li>
|
36 |
+
<li><?php _wsl_e("PHP/JSON Extension enabled", 'wordpress-social-login') ?></li>
|
37 |
+
<li><?php _wsl_e("PHP/REGISTER_GLOBALS Off", 'wordpress-social-login') ?></li>
|
38 |
+
<li><?php _wsl_e("jQuery installed on WordPress backoffice", 'wordpress-social-login') ?></li>
|
39 |
+
</ul>
|
40 |
+
<p style="margin-left:25px;margin-top:25px;">
|
41 |
+
<?php _wsl_e("You can run the <b>WordPress Social Login Requirements Test</b> by clicking the button bellow", 'wordpress-social-login') ?>:
|
42 |
+
|
43 |
<br />
|
44 |
+
<br />
|
45 |
+
<a class="button-primary" href='<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/utilities/diagnostics.php' target='_blank'><?php _wsl_e("Run the plugin requirements test", 'wordpress-social-login') ?></a>
|
46 |
+
<a class="button-primary" href='<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/utilities/siteinfo.php' target='_blank'><?php _wsl_e("Website Information", 'wordpress-social-login') ?></a>.
|
47 |
+
</p>
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<br />
|
51 |
+
|
52 |
+
<a name="devmode"></a>
|
53 |
+
|
54 |
+
<div style="padding: 20px; border: 1px solid #ddd; background-color: #fff;">
|
55 |
+
<h3 style="color: #da4f49;"><?php _wsl_e("Development mode", 'wordpress-social-login') ?></h3>
|
56 |
|
57 |
+
<p>
|
58 |
+
<?php _wsl_e('When <b>Development Mode</b> is enabled, this plugin will display a debugging area on the footer of admin interfaces. <b>Development Mode</b> will also try generate and display a technical reports when something goes wrong. This report can help you figure out the root of the issues you may runs into', 'wordpress-social-login') ?>.
|
59 |
+
</p>
|
60 |
|
61 |
+
<p>
|
62 |
+
<?php _wsl_e('Please, do not enable <b>Development Mode</b>, unless you are a developer or you have basic PHP knowledge', 'wordpress-social-login') ?>.
|
63 |
+
</p>
|
64 |
|
65 |
+
<p>
|
66 |
+
<?php _wsl_e('For security reasons, <b>Development Mode</b> will auto switch to <b>Disabled</b> each time the plugin is <b>reactivated</b>', 'wordpress-social-login') ?>.
|
67 |
+
</p>
|
68 |
+
|
69 |
+
<p>
|
70 |
+
<?php _wsl_e('It\'s highly recommended to keep the <b>Development Mode</b> <b style="color:#da4f49">Disabled</b> on production as it would be a security risk otherwise', 'wordpress-social-login') ?>.
|
71 |
+
</p>
|
72 |
+
|
73 |
+
<form method="post" id="wsl_setup_form" action="options.php" <?php if( ! $wsl_settings_development_mode_enabled ) { ?>onsubmit="return confirm('Do you really want to enable Development Mode?\n\nPlease confirm that you have read and understood the abovementioned by clicking OK.');"<?php } ?>>
|
74 |
+
<?php settings_fields( 'wsl-settings-group-development' ); ?>
|
75 |
+
|
76 |
+
<select name="wsl_settings_development_mode_enabled">
|
77 |
+
<option <?php if( $wsl_settings_development_mode_enabled ) echo "selected"; ?> value="1"><?php _wsl_e("Enabled", 'wordpress-social-login') ?></option>
|
78 |
+
<option <?php if( ! $wsl_settings_development_mode_enabled ) echo "selected"; ?> value="0"><?php _wsl_e("Disabled", 'wordpress-social-login') ?></option>
|
79 |
+
</select>
|
80 |
+
|
81 |
+
<input type="submit" class="button-primary" style="background-color: #da4f49;border-color: #bd362f;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);color: #ffffff;" value="<?php _wsl_e("Save Settings", 'wordpress-social-login') ?>" />
|
82 |
</form>
|
83 |
</div>
|
84 |
+
|
85 |
<?php
|
86 |
// HOOKABLE:
|
87 |
do_action( "wsl_component_diagnostics_end" );
|
includes/admin/components/help/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -20,18 +20,20 @@ function wsl_component_help()
|
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_help_start" );
|
22 |
?>
|
23 |
-
<div
|
24 |
-
<div style="width:
|
25 |
<h3><?php _wsl_e("Troubleshooting", 'wordpress-social-login') ?></h3>
|
26 |
<p>
|
27 |
<b><a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=diagnostics"><?php _wsl_e('WSL Diagnostics', 'wordpress-social-login') ?></a></b>
|
28 |
|
29 |
-
<b><a class="button-primary" href="
|
|
|
|
|
30 |
</p>
|
31 |
-
<p
|
32 |
<?php _wsl_e('If you run into any issue, you can access the <b>WordPress Social Login Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the <b>Development mode</b>', 'wordpress-social-login') ?>.
|
33 |
</p>
|
34 |
-
<p
|
35 |
<?php _wsl_e('Remember to include your System information when posting support requests', 'wordpress-social-login') ?>.
|
36 |
</p>
|
37 |
</div>
|
@@ -102,4 +104,52 @@ function wsl_component_help()
|
|
102 |
|
103 |
wsl_component_help();
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_help_start" );
|
22 |
?>
|
23 |
+
<div style="padding: 20px; border: 1px solid #ddd; background-color: #fff;">
|
24 |
+
<div style="width: 460px; float: right; line-height: 20px;padding: 8px;background-color: #f2f2f2;border: 1px solid #ccc;padding: 10px;text-align:center;box-shadow: 0 1px 3px rgba(0,0,0,0.13);">
|
25 |
<h3><?php _wsl_e("Troubleshooting", 'wordpress-social-login') ?></h3>
|
26 |
<p>
|
27 |
<b><a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=diagnostics"><?php _wsl_e('WSL Diagnostics', 'wordpress-social-login') ?></a></b>
|
28 |
|
29 |
+
<b><a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=diagnostics#devmode"><?php _wsl_e('Development mode', 'wordpress-social-login') ?></a></b>
|
30 |
+
|
31 |
+
<b><a class="button-primary" href="<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/utilities/siteinfo.php"><?php _wsl_e('System information', 'wordpress-social-login') ?></a></b>
|
32 |
</p>
|
33 |
+
<p>
|
34 |
<?php _wsl_e('If you run into any issue, you can access the <b>WordPress Social Login Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the <b>Development mode</b>', 'wordpress-social-login') ?>.
|
35 |
</p>
|
36 |
+
<p>
|
37 |
<?php _wsl_e('Remember to include your System information when posting support requests', 'wordpress-social-login') ?>.
|
38 |
</p>
|
39 |
</div>
|
104 |
|
105 |
wsl_component_help();
|
106 |
|
107 |
+
// --------------------------------------------------------------------
|
108 |
+
|
109 |
+
function wsl_component_help_translate()
|
110 |
+
{
|
111 |
+
?>
|
112 |
+
<style>
|
113 |
+
#l10n-footer {
|
114 |
+
display:none !important;
|
115 |
+
}
|
116 |
+
#wsl_div_warn {
|
117 |
+
padding: 10px;
|
118 |
+
border: 1px solid #ddd;
|
119 |
+
background-color: #fff;
|
120 |
+
|
121 |
+
width: 750px;
|
122 |
+
margin: 0px auto;
|
123 |
+
margin-top:30px;
|
124 |
+
}
|
125 |
+
</style>
|
126 |
+
<div id="wsl_div_warn">
|
127 |
+
<h3 style="margin:0px;"><?php _wsl_e('Help us translate WordPress Social Login into your language', 'wordpress-social-login') ?></h3>
|
128 |
+
|
129 |
+
<hr />
|
130 |
+
|
131 |
+
<p>
|
132 |
+
<?php _wsl_e( "We're calling on the help of WordPress Social Login users to translate this plugin into their own language or improve current translations where necessary. If you are interested in helping us out, please drop a mail at hybridauth@gmail.com. You can also sent us a pull request on <a href='https://github.com/hybridauth/WordPress-Social-Login'>https://github.com/hybridauth/WordPress-Social-Login</a>", 'wordpress-social-login') ?>.
|
133 |
+
</p>
|
134 |
+
|
135 |
+
<p>
|
136 |
+
<?php _wsl_e("If you are interested and you want to help, but you are new to WP/i18n, then we recommend check out this video", 'wordpress-social-login') ?>:
|
137 |
+
</p>
|
138 |
+
|
139 |
+
<hr />
|
140 |
+
|
141 |
+
<div style="text-align:center"><iframe width="560" height="315" src="//www.youtube.com/embed/aGN-hbMCPMg" frameborder="0" allowfullscreen></iframe></div>
|
142 |
+
|
143 |
+
<br />
|
144 |
+
|
145 |
+
<small>
|
146 |
+
<?php _wsl_e("<b>Note:</b> WSL uses <code>_wsl_e()</code> instead of <code>_e()</code> and <code>_wsl__</code> instead of <code>__()</code>", 'wordpress-social-login') ?>.
|
147 |
+
</small>
|
148 |
+
|
149 |
+
<br />
|
150 |
+
|
151 |
+
</div>
|
152 |
+
<?php
|
153 |
+
}
|
154 |
+
|
155 |
// --------------------------------------------------------------------
|
includes/admin/components/login-widget/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -22,8 +22,6 @@ function wsl_component_loginwidget()
|
|
22 |
|
23 |
include "wsl.components.loginwidget.setup.php";
|
24 |
include "wsl.components.loginwidget.sidebar.php";
|
25 |
-
|
26 |
-
wsl_admin_welcome_panel();
|
27 |
?>
|
28 |
<form method="post" id="wsl_setup_form" action="options.php">
|
29 |
<?php settings_fields( 'wsl-settings-group-customize' ); ?>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
22 |
|
23 |
include "wsl.components.loginwidget.setup.php";
|
24 |
include "wsl.components.loginwidget.sidebar.php";
|
|
|
|
|
25 |
?>
|
26 |
<form method="post" id="wsl_setup_form" action="options.php">
|
27 |
<?php settings_fields( 'wsl-settings-group-customize' ); ?>
|
includes/admin/components/login-widget/wsl.components.loginwidget.setup.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -20,34 +20,65 @@ function wsl_component_loginwidget_setup()
|
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_loginwidget_setup_start" );
|
22 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
<div id="post-body-content">
|
24 |
|
25 |
<div id="namediv" class="stuffbox">
|
26 |
<h3>
|
27 |
-
<label
|
28 |
</h3>
|
29 |
<div class="inside">
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
<tr>
|
32 |
-
<td width="
|
33 |
<td>
|
34 |
-
<input type="text" class="inputgnrc" value="<?php
|
35 |
</td>
|
36 |
</tr>
|
37 |
<tr>
|
38 |
<td align="right"><strong><?php _wsl_e("Social icon set", 'wordpress-social-login') ?> :</strong></td>
|
39 |
<td>
|
40 |
-
<select name="wsl_settings_social_icon_set" style="width:
|
41 |
-
<option <?php if( get_option( 'wsl_settings_social_icon_set' )
|
42 |
<option <?php if( get_option( 'wsl_settings_social_icon_set' ) == "icondock" ) echo "selected"; ?> value="icondock"><?php _wsl_e("Icondock vector social media icons", 'wordpress-social-login') ?></option>
|
|
|
43 |
</select>
|
44 |
</td>
|
45 |
</tr>
|
46 |
<tr>
|
47 |
<td align="right"><strong><?php _wsl_e("Users avatars", 'wordpress-social-login') ?> :</strong></td>
|
48 |
<td>
|
49 |
-
<select name="wsl_settings_users_avatars" style="width:
|
50 |
-
<option <?php if( ! get_option( 'wsl_settings_users_avatars' ) ) echo "selected"; ?> value="0"><?php _wsl_e("Display the default
|
51 |
<option <?php if( get_option( 'wsl_settings_users_avatars' ) ) echo "selected"; ?> value="1"><?php _wsl_e("Display users avatars from social networks when available", 'wordpress-social-login') ?></option>
|
52 |
</select>
|
53 |
</td>
|
@@ -59,39 +90,69 @@ function wsl_component_loginwidget_setup()
|
|
59 |
|
60 |
<div id="namediv" class="stuffbox">
|
61 |
<h3>
|
62 |
-
<label
|
63 |
</h3>
|
64 |
<div class="inside">
|
65 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
<tr>
|
67 |
-
<td width="
|
68 |
<td>
|
69 |
-
<input type="text" name="wsl_settings_redirect_url" value="<?php echo get_option( 'wsl_settings_redirect_url' ); ?>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
</td>
|
71 |
</tr>
|
72 |
<tr>
|
73 |
-
<td align="right"><strong><?php _wsl_e("Authentication
|
74 |
<td>
|
75 |
-
<select name="wsl_settings_use_popup" style="width:
|
76 |
-
<option <?php if( get_option( 'wsl_settings_use_popup' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("
|
77 |
-
<option <?php if( get_option( 'wsl_settings_use_popup' ) == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("
|
78 |
</select>
|
79 |
</td>
|
80 |
</tr>
|
81 |
<tr>
|
82 |
<td align="right"><strong><?php _wsl_e("Widget display", 'wordpress-social-login') ?> :</strong></td>
|
83 |
<td>
|
84 |
-
<select name="wsl_settings_widget_display" style="width:
|
85 |
-
<option <?php if( get_option( 'wsl_settings_widget_display' ) ==
|
86 |
-
<option <?php if( get_option( 'wsl_settings_widget_display' ) ==
|
87 |
-
<option <?php if( get_option( 'wsl_settings_widget_display' ) == 3 ) echo "selected"; ?> value="3"><?php _wsl_e("Display the widget
|
|
|
88 |
</select>
|
89 |
</td>
|
90 |
</tr>
|
91 |
<tr>
|
92 |
<td align="right"><strong><?php _wsl_e("Notification", 'wordpress-social-login') ?> :</strong></td>
|
93 |
<td>
|
94 |
-
<select name="wsl_settings_users_notification" style="width:
|
95 |
<option <?php if( ! get_option( 'wsl_settings_users_notification' ) ) echo "selected"; ?> value="0"><?php _wsl_e("No notification", 'wordpress-social-login') ?></option>
|
96 |
<option <?php if( get_option( 'wsl_settings_users_notification' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Notify ONLY the blog admin of a new user", 'wordpress-social-login') ?></option>
|
97 |
</select>
|
@@ -104,32 +165,42 @@ function wsl_component_loginwidget_setup()
|
|
104 |
|
105 |
<div id="namediv" class="stuffbox">
|
106 |
<h3>
|
107 |
-
<label
|
108 |
</h3>
|
109 |
<div class="inside">
|
110 |
-
<
|
111 |
-
|
112 |
-
|
|
|
|
|
113 |
<td>
|
114 |
-
<?php _wsl_e("To customize the default widget styles you can either: edit the css file <strong>/wordpress-social-login/assets/css/style.css</strong>, or change it from this text area", 'wordpress-social-login') ?>.
|
115 |
-
<br />
|
116 |
<textarea style="width:100%;height:120px;margin-top:6px;" name="wsl_settings_authentication_widget_css"><?php echo get_option( 'wsl_settings_authentication_widget_css' ); ?></textarea>
|
117 |
<br />
|
118 |
<p><?php _wsl_e("The basic widget markup is the following", 'wordpress-social-login') ?>:</p>
|
119 |
<pre style="background-color: #eaffdc;border:1px solid #60cf4e; border-radius: 3px;padding: 10px;margin-top:5px;margin-bottom:0px;">
|
120 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
-
<div
|
123 |
-
<a class="<code>wsl_connect_with_provider</code>">
|
124 |
-
<img src="{provider_icon_facebook}" />
|
125 |
-
</a>
|
126 |
|
127 |
-
|
128 |
-
<img src="{provider_icon_google}" />
|
129 |
-
</a>
|
130 |
|
131 |
-
|
132 |
-
</div>
|
133 |
</pre>
|
134 |
</td>
|
135 |
</tr>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_loginwidget_setup_start" );
|
22 |
?>
|
23 |
+
<style>
|
24 |
+
.wp-social-login-provider-list {
|
25 |
+
padding:10px;
|
26 |
+
}
|
27 |
+
|
28 |
+
.wp-social-login-provider-list a{
|
29 |
+
text-decoration: none;
|
30 |
+
}
|
31 |
+
|
32 |
+
.wp-social-login-provider-list img{
|
33 |
+
border:0 none;
|
34 |
+
}
|
35 |
+
</style>
|
36 |
+
|
37 |
<div id="post-body-content">
|
38 |
|
39 |
<div id="namediv" class="stuffbox">
|
40 |
<h3>
|
41 |
+
<label><?php _wsl_e("Basic Settings", 'wordpress-social-login') ?></label>
|
42 |
</h3>
|
43 |
<div class="inside">
|
44 |
+
|
45 |
+
<p>
|
46 |
+
<?php _wsl_e("<b>Connect with caption :</b> Change the content of the label to display above WSL widget", 'wordpress-social-login') ?>.
|
47 |
+
</p>
|
48 |
+
|
49 |
+
<p>
|
50 |
+
<?php _wsl_e("<b>Social icon set :</b> WSL provides two set of icons to display on the widget", 'wordpress-social-login') ?>.
|
51 |
+
<?php _wsl_e("You can also display the providers names instead of icons. This allow the customization of the widget to a great extent", 'wordpress-social-login') ?>.
|
52 |
+
</p>
|
53 |
+
|
54 |
+
<p>
|
55 |
+
<?php _wsl_e("<b>Users avatars :</b> Determines whether to show users avatars from social networks or to display the default ones", 'wordpress-social-login') ?>.
|
56 |
+
|
57 |
+
<?php _wsl_e("Avatars display should work right out of the box with most WordPress themes, BuddyPress and bbPress", 'wordpress-social-login') ?>.
|
58 |
+
</p>
|
59 |
+
|
60 |
+
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
61 |
<tr>
|
62 |
+
<td width="180" align="right"><strong><?php _wsl_e("Connect with caption", 'wordpress-social-login') ?> :</strong></td>
|
63 |
<td>
|
64 |
+
<input type="text" class="inputgnrc" style="width:535px" value="<?php _wsl_e( get_option( 'wsl_settings_connect_with_label' ), 'wordpress-social-login' ); ?>" name="wsl_settings_connect_with_label" >
|
65 |
</td>
|
66 |
</tr>
|
67 |
<tr>
|
68 |
<td align="right"><strong><?php _wsl_e("Social icon set", 'wordpress-social-login') ?> :</strong></td>
|
69 |
<td>
|
70 |
+
<select name="wsl_settings_social_icon_set" style="width:535px">
|
71 |
+
<option <?php if( get_option( 'wsl_settings_social_icon_set' ) == "wpzoom" ) echo "selected"; ?> value="wpzoom"><?php _wsl_e("WPZOOM social networking icon set", 'wordpress-social-login') ?></option>
|
72 |
<option <?php if( get_option( 'wsl_settings_social_icon_set' ) == "icondock" ) echo "selected"; ?> value="icondock"><?php _wsl_e("Icondock vector social media icons", 'wordpress-social-login') ?></option>
|
73 |
+
<option <?php if( get_option( 'wsl_settings_social_icon_set' ) == "none" ) echo "selected"; ?> value="none"><?php _wsl_e("None, display providers names instead of icons", 'wordpress-social-login') ?></option>
|
74 |
</select>
|
75 |
</td>
|
76 |
</tr>
|
77 |
<tr>
|
78 |
<td align="right"><strong><?php _wsl_e("Users avatars", 'wordpress-social-login') ?> :</strong></td>
|
79 |
<td>
|
80 |
+
<select name="wsl_settings_users_avatars" style="width:535px">
|
81 |
+
<option <?php if( ! get_option( 'wsl_settings_users_avatars' ) ) echo "selected"; ?> value="0"><?php _wsl_e("Display the default WordPress avatars", 'wordpress-social-login') ?></option>
|
82 |
<option <?php if( get_option( 'wsl_settings_users_avatars' ) ) echo "selected"; ?> value="1"><?php _wsl_e("Display users avatars from social networks when available", 'wordpress-social-login') ?></option>
|
83 |
</select>
|
84 |
</td>
|
90 |
|
91 |
<div id="namediv" class="stuffbox">
|
92 |
<h3>
|
93 |
+
<label><?php _wsl_e("Advanced Settings", 'wordpress-social-login') ?></label>
|
94 |
</h3>
|
95 |
<div class="inside">
|
96 |
+
<p>
|
97 |
+
<?php _wsl_e("<b>Redirect URL :</b> By default and after they authenticate, users will be automatically redirected to the page where they come from. If WSL wasn't able to identify where they come from (or if they used wp-login page to connect), then they will be redirected to <code>Redirect URL</code> instead", 'wordpress-social-login') ?>.
|
98 |
+
</p>
|
99 |
+
|
100 |
+
<p>
|
101 |
+
<?php _wsl_e("<b>Force redirection :</b> When set to <b>Yes</b>, users will be <b>always</b> redirected to <code>Redirect URL</code>", 'wordpress-social-login') ?>.
|
102 |
+
</p>
|
103 |
+
|
104 |
+
<p>
|
105 |
+
<?php _wsl_e("<b>Authentication display :</b> Determines how the authentication dialog is rendered. You can chose to open the dialog in a <b>popup</b> or to <b>in page</b>. (Authentication display was previously known as Authentication flow)", 'wordpress-social-login') ?>.
|
106 |
+
</p>
|
107 |
+
|
108 |
+
<p>
|
109 |
+
<?php _wsl_e("<b>Widget display :</b> Determines where you want to show the authentication widget", 'wordpress-social-login') ?>.
|
110 |
+
</p>
|
111 |
+
|
112 |
+
<p>
|
113 |
+
<?php _wsl_e("<b>Notification :</b> Determines whether you want to receive a notification by mail when a new user is logged in via WSL", 'wordpress-social-login') ?>.
|
114 |
+
</p>
|
115 |
+
|
116 |
+
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
117 |
<tr>
|
118 |
+
<td width="180" align="right"><strong><?php _wsl_e("Redirect URL", 'wordpress-social-login') ?> :</strong></td>
|
119 |
<td>
|
120 |
+
<input type="text" name="wsl_settings_redirect_url" class="inputgnrc" style="width:535px" value="<?php echo get_option( 'wsl_settings_redirect_url' ); ?>">
|
121 |
+
</td>
|
122 |
+
</tr>
|
123 |
+
<tr>
|
124 |
+
<td align="right"><strong><?php _wsl_e("Force redirection", 'wordpress-social-login') ?> :</strong></td>
|
125 |
+
<td>
|
126 |
+
<select name="wsl_settings_force_redirect_url" style="width:100px">
|
127 |
+
<option <?php if( get_option( 'wsl_settings_force_redirect_url' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Yes", 'wordpress-social-login') ?></option>
|
128 |
+
<option <?php if( get_option( 'wsl_settings_force_redirect_url' ) == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("No", 'wordpress-social-login') ?></option>
|
129 |
+
</select>
|
130 |
</td>
|
131 |
</tr>
|
132 |
<tr>
|
133 |
+
<td align="right"><strong><?php _wsl_e("Authentication display", 'wordpress-social-login') ?> :</strong></td>
|
134 |
<td>
|
135 |
+
<select name="wsl_settings_use_popup" style="width:100px">
|
136 |
+
<option <?php if( get_option( 'wsl_settings_use_popup' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Popup", 'wordpress-social-login') ?></option>
|
137 |
+
<option <?php if( get_option( 'wsl_settings_use_popup' ) == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("In Page", 'wordpress-social-login') ?></option>
|
138 |
</select>
|
139 |
</td>
|
140 |
</tr>
|
141 |
<tr>
|
142 |
<td align="right"><strong><?php _wsl_e("Widget display", 'wordpress-social-login') ?> :</strong></td>
|
143 |
<td>
|
144 |
+
<select name="wsl_settings_widget_display" style="width:535px">
|
145 |
+
<option <?php if( get_option( 'wsl_settings_widget_display' ) == 4 ) echo "selected"; ?> value="4"><?php _wsl_e("Do not display the widget anywhere, I'll use shortcodes", 'wordpress-social-login') ?></option>
|
146 |
+
<option <?php if( get_option( 'wsl_settings_widget_display' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Display the widget in the comments area, login and register forms", 'wordpress-social-login') ?></option>
|
147 |
+
<option <?php if( get_option( 'wsl_settings_widget_display' ) == 3 ) echo "selected"; ?> value="3"><?php _wsl_e("Display the widget only in the login and register forms", 'wordpress-social-login') ?></option>
|
148 |
+
<option <?php if( get_option( 'wsl_settings_widget_display' ) == 2 ) echo "selected"; ?> value="2"><?php _wsl_e("Display the widget only in the comments area", 'wordpress-social-login') ?></option>
|
149 |
</select>
|
150 |
</td>
|
151 |
</tr>
|
152 |
<tr>
|
153 |
<td align="right"><strong><?php _wsl_e("Notification", 'wordpress-social-login') ?> :</strong></td>
|
154 |
<td>
|
155 |
+
<select name="wsl_settings_users_notification" style="width:535px">
|
156 |
<option <?php if( ! get_option( 'wsl_settings_users_notification' ) ) echo "selected"; ?> value="0"><?php _wsl_e("No notification", 'wordpress-social-login') ?></option>
|
157 |
<option <?php if( get_option( 'wsl_settings_users_notification' ) == 1 ) echo "selected"; ?> value="1"><?php _wsl_e("Notify ONLY the blog admin of a new user", 'wordpress-social-login') ?></option>
|
158 |
</select>
|
165 |
|
166 |
<div id="namediv" class="stuffbox">
|
167 |
<h3>
|
168 |
+
<label><?php _wsl_e("Custom CSS", 'wordpress-social-login') ?></label>
|
169 |
</h3>
|
170 |
<div class="inside">
|
171 |
+
<p>
|
172 |
+
<?php _wsl_e("To customize the default widget styles you can either: change the css in the <b>text area</b> bellow or add it to your website <b>theme</b> files", 'wordpress-social-login') ?>.
|
173 |
+
</p>
|
174 |
+
<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-top:1px solid #ccc;">
|
175 |
+
<tr>
|
176 |
<td>
|
|
|
|
|
177 |
<textarea style="width:100%;height:120px;margin-top:6px;" name="wsl_settings_authentication_widget_css"><?php echo get_option( 'wsl_settings_authentication_widget_css' ); ?></textarea>
|
178 |
<br />
|
179 |
<p><?php _wsl_e("The basic widget markup is the following", 'wordpress-social-login') ?>:</p>
|
180 |
<pre style="background-color: #eaffdc;border:1px solid #60cf4e; border-radius: 3px;padding: 10px;margin-top:5px;margin-bottom:0px;">
|
181 |
+
<div class="<code>wp-social-login-widget</code>">
|
182 |
+
|
183 |
+
<div class="<code>wp-social-login-connect-with</code>">{connect_with_caption}</div>
|
184 |
+
|
185 |
+
<div class="<code>wp-social-login-provider-list</code>">
|
186 |
+
|
187 |
+
<a class="<code>wp-social-login-provider wp-social-login-provider-facebook</code>">
|
188 |
+
<img src="{provider_icon_facebook}" />
|
189 |
+
</a>
|
190 |
+
|
191 |
+
<a class="<code>wp-social-login-provider wp-social-login-provider-google</code>">
|
192 |
+
<img src="{provider_icon_google}" />
|
193 |
+
</a>
|
194 |
+
|
195 |
+
<a class="<code>wp-social-login-provider wp-social-login-provider-twitter</code>">
|
196 |
+
<img src="{provider_icon_twitter}" />
|
197 |
+
</a>
|
198 |
|
199 |
+
</div> <!-- / div.wp-social-login-connect-options -->
|
|
|
|
|
|
|
200 |
|
201 |
+
<div class="<code>wp-social-login-widget-clearing</code>"></div>
|
|
|
|
|
202 |
|
203 |
+
</div> <!-- / div.wp-social-login-widget -->
|
|
|
204 |
</pre>
|
205 |
</td>
|
206 |
</tr>
|
includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -41,6 +41,10 @@ function wsl_component_loginwidget_sidebar()
|
|
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 |
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Custom integration", 'wordpress-social-login') ?></h4>
|
45 |
|
46 |
<p style="margin:10px;">
|
@@ -51,22 +55,22 @@ function wsl_component_loginwidget_sidebar()
|
|
51 |
</p>
|
52 |
|
53 |
<p style="margin:10px;">
|
54 |
-
<?php _wsl_e('<b>
|
55 |
-
|
56 |
-
|
57 |
-
<p style="margin:10px;">
|
58 |
-
<?php _wsl_e('Also, if you are a developer or designer then you can customize it to your heart\'s content. For more inofmation refer to <b><a href="http://hybridauth.sourceforge.net/wsl/customize.html" target="_blank">User Guide</a></b>', 'wordpress-social-login') ?>.
|
59 |
</p>
|
60 |
|
61 |
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Widget preview", 'wordpress-social-login') ?></h4>
|
62 |
|
63 |
<p style="margin:10px;">
|
64 |
-
<?php _wsl_e("This is a preview of what should be on the comments area", 'wordpress-social-login') ?>.
|
65 |
-
<
|
|
|
|
|
66 |
</p>
|
67 |
|
68 |
-
<div style="width: 380px;
|
69 |
-
<?php wsl_render_login_form(); ?>
|
70 |
</div>
|
71 |
</div>
|
72 |
</div>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
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;">
|
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>
|
includes/admin/components/networks/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
includes/admin/components/networks/wsl.components.networks.addmore.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -26,15 +26,14 @@ function wsl_component_networks_addmore()
|
|
26 |
<table width="100%" border="0">
|
27 |
<tr>
|
28 |
<td align="left">
|
29 |
-
<p><?php _wsl_e("And you could add even more of them, <b>Just Click</b> and we will guide you through", 'wordpress-social-login') ?> :</p>
|
30 |
<?php
|
31 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/32x32/icondock/';
|
32 |
|
33 |
$nb_used = count( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG );
|
34 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
35 |
-
$provider_id
|
36 |
-
$provider_name
|
37 |
-
$provider_cat = @ $item["cat"];
|
38 |
|
39 |
if( isset( $item["default_network"] ) && $item["default_network"] ){
|
40 |
continue;
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
26 |
<table width="100%" border="0">
|
27 |
<tr>
|
28 |
<td align="left">
|
29 |
+
<p><?php _wsl_e("And you could add even more of them, <b>Just Click</b> on the icons and we will guide you through", 'wordpress-social-login') ?> :</p>
|
30 |
<?php
|
31 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/32x32/icondock/';
|
32 |
|
33 |
$nb_used = count( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG );
|
34 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
35 |
+
$provider_id = isset( $item["provider_id"] ) ? $item["provider_id"] : '';
|
36 |
+
$provider_name = isset( $item["provider_name"] ) ? $item["provider_name"] : '';
|
|
|
37 |
|
38 |
if( isset( $item["default_network"] ) && $item["default_network"] ){
|
39 |
continue;
|
includes/admin/components/networks/wsl.components.networks.basicinsights.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -16,131 +16,90 @@ function wsl_component_networks_basicinsights()
|
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_networks_basicinsights_start" );
|
18 |
|
19 |
-
|
20 |
|
21 |
-
$
|
22 |
-
$
|
23 |
|
24 |
-
$
|
25 |
-
|
26 |
-
|
27 |
-
$total_users = (int) $rs1[0]->items;
|
28 |
-
$total_users_wsl = (int) $rs2[0]->items;
|
29 |
-
$users_conversion = ( 100 * $total_users_wsl ) / $total_users;
|
30 |
-
|
31 |
-
if( $total_users_wsl && wsl_is_component_enabled( "basicinsights" ) ){
|
32 |
?>
|
33 |
<div class="postbox " id="linksubmitdiv">
|
34 |
<div class="inside">
|
35 |
<div id="submitlink" class="submitbox">
|
36 |
<h3 style="cursor: default;"><?php _wsl_e("Insights", 'wordpress-social-login') ?></h3>
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
</
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
<table width="90%">
|
61 |
-
<?php
|
62 |
-
foreach( $rs1 as $item ){
|
63 |
-
if( ! $item->meta_value ) $item->meta_value = "Unknown";
|
64 |
-
?>
|
65 |
-
<tr>
|
66 |
-
<td width="60%">
|
67 |
-
<img src="<?php echo $assets_base_url . strtolower( $item->meta_value ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php echo $item->meta_value; ?>
|
68 |
-
</td>
|
69 |
-
<td>
|
70 |
-
<?php echo $item->items; ?>
|
71 |
-
</td>
|
72 |
-
</tr>
|
73 |
-
<?php
|
74 |
-
}
|
75 |
-
?>
|
76 |
-
<tr>
|
77 |
-
<td align="right"> </td><td style="border-top:1px solid #ccc"><b><?php echo $total_users_wsl; ?></b> <?php _wsl_e("WSL users", 'wordpress-social-login') ?></td>
|
78 |
-
</tr>
|
79 |
-
</table>
|
80 |
<?php
|
81 |
-
$
|
82 |
|
83 |
-
$
|
84 |
-
?>
|
85 |
-
<h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("By gender", 'wordpress-social-login') ?></h4>
|
86 |
-
<table width="90%">
|
87 |
-
<?php
|
88 |
-
foreach( $rs as $item ){
|
89 |
-
if( ! $item->meta_value ) $item->meta_value = "Unknown";
|
90 |
-
?>
|
91 |
-
<tr>
|
92 |
-
<td width="60%">
|
93 |
-
<?php echo ucfirst( $item->meta_value ); ?>
|
94 |
-
</td>
|
95 |
-
<td>
|
96 |
-
<?php echo $item->items; ?>
|
97 |
-
</td>
|
98 |
-
</tr>
|
99 |
-
<?php
|
100 |
-
}
|
101 |
?>
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
<?php
|
111 |
-
$
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
$item->meta_value = "Unknown";
|
117 |
-
}
|
118 |
-
else{
|
119 |
-
$t_ages += (int) $item->meta_value;
|
120 |
-
$n_ages++;
|
121 |
-
}
|
122 |
-
?>
|
123 |
-
<tr>
|
124 |
-
<td width="60%">
|
125 |
-
<?php echo $item->meta_value; ?>
|
126 |
-
</td>
|
127 |
-
<td>
|
128 |
-
<?php echo $item->items; ?>
|
129 |
-
</td>
|
130 |
-
</tr>
|
131 |
-
<?php
|
132 |
-
}
|
133 |
-
|
134 |
-
if( $n_ages ) $a_ages = $t_ages/$n_ages;
|
135 |
-
?>
|
136 |
-
</td>
|
137 |
</tr>
|
138 |
<tr>
|
139 |
-
<td align="right"> </td><td
|
140 |
</tr>
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
</div>
|
143 |
-
</div>
|
144 |
</div>
|
145 |
</div>
|
146 |
</div>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_networks_basicinsights_start" );
|
18 |
|
19 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
20 |
|
21 |
+
$total_users = wsl_get_wordpess_users_count();
|
22 |
+
$total_users_wsl = wsl_get_wsl_users_count();
|
23 |
|
24 |
+
if( $total_users && $total_users_wsl ){
|
25 |
+
$users_conversion = ( 100 * $total_users_wsl ) / $total_users;
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
?>
|
27 |
<div class="postbox " id="linksubmitdiv">
|
28 |
<div class="inside">
|
29 |
<div id="submitlink" class="submitbox">
|
30 |
<h3 style="cursor: default;"><?php _wsl_e("Insights", 'wordpress-social-login') ?></h3>
|
31 |
|
32 |
+
<div id="misc-publishing-actions">
|
33 |
+
<div style="padding:20px;padding-top:0px;">
|
34 |
+
<!-- Insights - conversions -->
|
35 |
+
<h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("Conversions", 'wordpress-social-login') ?></h4>
|
36 |
+
<table width="90%">
|
37 |
+
<tr>
|
38 |
+
<td width="60%"><?php _wsl_e("WP users", 'wordpress-social-login') ?></td><td><?php echo $total_users; ?></td>
|
39 |
+
</tr>
|
40 |
+
<tr>
|
41 |
+
<td><?php _wsl_e("WSL users", 'wordpress-social-login') ?></td><td><?php echo $total_users_wsl; ?></td>
|
42 |
+
</tr>
|
43 |
+
<tr>
|
44 |
+
<td><?php _wsl_e("Conversions", 'wordpress-social-login') ?></td><td style="border-top:1px solid #ccc">+<b><?php echo number_format($users_conversion, 2, '.', ''); ?></b> %</td>
|
45 |
+
</tr>
|
46 |
+
</table>
|
47 |
+
|
48 |
+
<!-- Insights by provider -->
|
49 |
+
<?php
|
50 |
+
$data = wsl_get_stored_hybridauth_user_profiles_count_by_field( 'provider' );
|
51 |
+
?>
|
52 |
+
<h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("By provider", 'wordpress-social-login') ?></h4>
|
53 |
+
<table width="90%">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
<?php
|
55 |
+
$total_profiles_wsl = 0;
|
56 |
|
57 |
+
foreach( $data as $item ){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
?>
|
59 |
+
<tr>
|
60 |
+
<td width="60%">
|
61 |
+
<img src="<?php echo $assets_base_url . strtolower( $item->provider ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php echo $item->provider; ?>
|
62 |
+
</td>
|
63 |
+
<td>
|
64 |
+
<?php echo $item->items; ?>
|
65 |
+
</td>
|
66 |
+
</tr>
|
67 |
<?php
|
68 |
+
$total_profiles_wsl += (int) $item->items;
|
69 |
+
}
|
70 |
+
?>
|
71 |
+
<tr>
|
72 |
+
<td align="right"> </td><td style="border-top:1px solid #ccc"><b><?php echo $total_profiles_wsl; ?></b> <?php _wsl_e("WSL profiles", 'wordpress-social-login') ?></td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
</tr>
|
74 |
<tr>
|
75 |
+
<td align="right"> </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 ){
|
87 |
+
if( ! $item->age ) $item->age = "Unknown";
|
88 |
+
?>
|
89 |
+
<tr>
|
90 |
+
<td width="60%">
|
91 |
+
<?php echo ucfirst( $item->age ); ?>
|
92 |
+
</td>
|
93 |
+
<td>
|
94 |
+
<?php echo $item->items; ?>
|
95 |
+
</td>
|
96 |
+
</tr>
|
97 |
+
<?php
|
98 |
+
}
|
99 |
+
?>
|
100 |
+
</table>
|
101 |
</div>
|
102 |
+
</div>
|
103 |
</div>
|
104 |
</div>
|
105 |
</div>
|
includes/admin/components/networks/wsl.components.networks.setup.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -20,16 +20,38 @@ function wsl_component_networks_setup()
|
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_networks_setup_start" );
|
22 |
|
23 |
-
GLOBAL $wpdb;
|
24 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
if( isset( $_REQUEST["enable"] ) && $_REQUEST["enable"] ){
|
27 |
$provider_id = $_REQUEST["enable"];
|
28 |
|
29 |
update_option( 'wsl_settings_' . $provider_id . '_enabled', 1 );
|
30 |
}
|
31 |
?>
|
32 |
-
<script>
|
33 |
function toggleproviderkeys(idp){
|
34 |
if(typeof jQuery=="undefined"){
|
35 |
alert( "Error: WordPress Social Login require jQuery to be installed on your wordpress in order to work!" );
|
@@ -55,25 +77,21 @@ function wsl_component_networks_setup()
|
|
55 |
return false;
|
56 |
}
|
57 |
|
58 |
-
jQuery('.wsl_div_settings_help_' + idp).
|
59 |
-
|
60 |
return false;
|
61 |
}
|
62 |
</script>
|
63 |
-
<?php
|
64 |
-
$nbprovider = 0;
|
65 |
-
|
66 |
-
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
67 |
-
|
68 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ):
|
69 |
-
$provider_id =
|
70 |
-
$provider_name =
|
71 |
|
72 |
-
$require_client_id =
|
73 |
-
$provide_email =
|
74 |
-
|
75 |
-
$provider_new_app_link =
|
76 |
-
$provider_userguide_section =
|
77 |
|
78 |
$provider_callback_url = "" ;
|
79 |
|
@@ -84,11 +102,6 @@ function wsl_component_networks_setup()
|
|
84 |
// default endpoint_url
|
85 |
$endpoint_url = WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL;
|
86 |
|
87 |
-
// overwrite endpoint_url if need'd
|
88 |
-
if( get_option( 'wsl_settings_base_url' ) ){
|
89 |
-
$endpoint_url = strtolower( get_option( 'wsl_settings_base_url' ) . '/hybridauth/' );
|
90 |
-
}
|
91 |
-
|
92 |
if( isset( $item["callback"] ) && $item["callback"] ){
|
93 |
$provider_callback_url = '<span style="color:green">' . $endpoint_url . '?hauth.done=' . $provider_id . '</span>';
|
94 |
}
|
@@ -98,7 +111,7 @@ function wsl_component_networks_setup()
|
|
98 |
<a name="setup<?php echo strtolower( $provider_id ) ?>"></a>
|
99 |
<div class="stuffbox" id="namediv">
|
100 |
<h3>
|
101 |
-
<label
|
102 |
<img alt="<?php echo $provider_name ?>" title="<?php echo $provider_name ?>" src="<?php echo $assets_base_url . strtolower( $provider_id ) . '.png' ?>" style="vertical-align: top;width:16px;height:16px;" /> <?php echo $provider_name ?>
|
103 |
</label>
|
104 |
</h3>
|
@@ -106,18 +119,18 @@ function wsl_component_networks_setup()
|
|
106 |
<table class="form-table editcomment">
|
107 |
<tbody>
|
108 |
<tr>
|
109 |
-
<td style="width:
|
110 |
<td>
|
111 |
<select
|
112 |
name="<?php echo 'wsl_settings_' . $provider_id . '_enabled' ?>"
|
113 |
id="<?php echo 'wsl_settings_' . $provider_id . '_enabled' ?>"
|
114 |
onChange="toggleproviderkeys('<?php echo $provider_id; ?>')"
|
115 |
>
|
116 |
-
<option value="1" <?php if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ) echo "selected"; ?>
|
117 |
-
<option value="0" <?php if( ! get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ) echo "selected"; ?>
|
118 |
</select>
|
119 |
</td>
|
120 |
-
<td style="width:
|
121 |
</tr>
|
122 |
|
123 |
<?php if ( $provider_new_app_link ){ ?>
|
@@ -142,16 +155,37 @@ function wsl_component_networks_setup()
|
|
142 |
<?php } // if require registration ?>
|
143 |
</tbody>
|
144 |
</table>
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
<?php
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
<?php endif; ?>
|
156 |
<br />
|
157 |
<div
|
@@ -169,99 +203,99 @@ function wsl_component_networks_setup()
|
|
169 |
<br />
|
170 |
<br />
|
171 |
|
172 |
-
<?php echo sprintf( _wsl__('To enable authentication with this provider and to register a new <b>%s API Application</b>,
|
173 |
:<br />
|
174 |
<?php else: ?>
|
175 |
<p><?php echo sprintf( _wsl__('<b>Done.</b> Nothing more required for <b>%s</b>', 'wordpress-social-login'), $provider_name) ?>.</p>
|
176 |
<?php endif; ?>
|
177 |
-
<div
|
178 |
<?php if ( $provider_new_app_link ) : ?>
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
<?php
|
184 |
-
|
185 |
-
<?php
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
<?php
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
<?php
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
<?php
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> Once you have registered,
|
|
|
|
|
228 |
<?php endif; ?>
|
229 |
|
230 |
<?php if ( $provider_id == "Facebook" ) : ?>
|
231 |
-
<hr />
|
232 |
<table style="text-align: center;margin-bottom:12px;">
|
233 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/1.png"></a></td>
|
234 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/2.png"></a></td>
|
235 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/3.png"></a></td>
|
236 |
</table>
|
237 |
-
<hr />
|
238 |
<?php endif; ?>
|
|
|
239 |
<?php if ( $provider_id == "Google" ) : ?>
|
240 |
-
<hr />
|
241 |
<table style="text-align: center;margin-bottom:12px;">
|
242 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/1.png"></a></td>
|
243 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/2.png"></a></td>
|
244 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/3.png"></a></td>
|
245 |
</table>
|
246 |
-
<hr />
|
247 |
<?php endif; ?>
|
|
|
248 |
<?php if ( $provider_id == "Twitter" ) : ?>
|
249 |
-
<hr />
|
250 |
<table style="text-align: center;margin-bottom:12px;">
|
251 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/1.png"></a></td>
|
252 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/2.png"></a></td>
|
253 |
<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>
|
254 |
</table>
|
255 |
-
<hr />
|
256 |
-
<?php endif; ?>
|
257 |
-
<?php if ( $provider_new_app_link ) : ?>
|
258 |
-
<p>
|
259 |
-
<b><?php _wsl_e("And that's it!", 'wordpress-social-login') ?></b>
|
260 |
-
<br />
|
261 |
-
<?php echo sprintf( _wsl__( 'If for some reason you still can\'t figure it out, first try to a) <a class="button-primary" href="https://www.google.com/search?q=%s API create application" target="_blank">Google it</a>, then check it on b) <a class="button-primary" href="http://www.youtube.com/results?search_query=%s API create application " target="_blank">Youtube</a> and if nothing works c) <a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=help">ask for support</a>', 'wordpress-social-login'), $provider_name, $provider_name ) ?>.
|
262 |
-
</p>
|
263 |
<?php endif; ?>
|
264 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
</div>
|
266 |
</div>
|
267 |
</div>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
20 |
// HOOKABLE:
|
21 |
do_action( "wsl_component_networks_setup_start" );
|
22 |
|
|
|
23 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
24 |
+
|
25 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
26 |
+
|
27 |
+
// if no idp is enabled then we enable the default providers (facebook, google, twitter)
|
28 |
+
$nok = true;
|
29 |
+
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
30 |
+
$provider_id = $item["provider_id"];
|
31 |
+
|
32 |
+
if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ){
|
33 |
+
$nok = false;
|
34 |
+
}
|
35 |
+
}
|
36 |
|
37 |
+
if( $nok ){
|
38 |
+
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
39 |
+
$provider_id = $item["provider_id"];
|
40 |
+
|
41 |
+
if( isset( $item["default_network"] ) && $item["default_network"] ){
|
42 |
+
update_option( 'wsl_settings_' . $provider_id . '_enabled', 1 );
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
// save settings?
|
48 |
if( isset( $_REQUEST["enable"] ) && $_REQUEST["enable"] ){
|
49 |
$provider_id = $_REQUEST["enable"];
|
50 |
|
51 |
update_option( 'wsl_settings_' . $provider_id . '_enabled', 1 );
|
52 |
}
|
53 |
?>
|
54 |
+
<script>
|
55 |
function toggleproviderkeys(idp){
|
56 |
if(typeof jQuery=="undefined"){
|
57 |
alert( "Error: WordPress Social Login require jQuery to be installed on your wordpress in order to work!" );
|
77 |
return false;
|
78 |
}
|
79 |
|
80 |
+
jQuery('.wsl_div_settings_help_' + idp).toggle();
|
81 |
+
|
82 |
return false;
|
83 |
}
|
84 |
</script>
|
85 |
+
<?php
|
|
|
|
|
|
|
|
|
86 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ):
|
87 |
+
$provider_id = isset( $item["provider_id"] ) ? $item["provider_id"] : '';
|
88 |
+
$provider_name = isset( $item["provider_name"] ) ? $item["provider_name"] : '';
|
89 |
|
90 |
+
$require_client_id = isset( $item["require_client_id"] ) ? $item["require_client_id"] : '';
|
91 |
+
$provide_email = isset( $item["provide_email"] ) ? $item["provide_email"] : '';
|
92 |
+
|
93 |
+
$provider_new_app_link = isset( $item["new_app_link"] ) ? $item["new_app_link"] : '';
|
94 |
+
$provider_userguide_section = isset( $item["userguide_section"] ) ? $item["userguide_section"] : '';
|
95 |
|
96 |
$provider_callback_url = "" ;
|
97 |
|
102 |
// default endpoint_url
|
103 |
$endpoint_url = WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL;
|
104 |
|
|
|
|
|
|
|
|
|
|
|
105 |
if( isset( $item["callback"] ) && $item["callback"] ){
|
106 |
$provider_callback_url = '<span style="color:green">' . $endpoint_url . '?hauth.done=' . $provider_id . '</span>';
|
107 |
}
|
111 |
<a name="setup<?php echo strtolower( $provider_id ) ?>"></a>
|
112 |
<div class="stuffbox" id="namediv">
|
113 |
<h3>
|
114 |
+
<label class="wp-neworks-label">
|
115 |
<img alt="<?php echo $provider_name ?>" title="<?php echo $provider_name ?>" src="<?php echo $assets_base_url . strtolower( $provider_id ) . '.png' ?>" style="vertical-align: top;width:16px;height:16px;" /> <?php echo $provider_name ?>
|
116 |
</label>
|
117 |
</h3>
|
119 |
<table class="form-table editcomment">
|
120 |
<tbody>
|
121 |
<tr>
|
122 |
+
<td style="width:125px"><?php _wsl_e("Enabled", 'wordpress-social-login') ?>:</td>
|
123 |
<td>
|
124 |
<select
|
125 |
name="<?php echo 'wsl_settings_' . $provider_id . '_enabled' ?>"
|
126 |
id="<?php echo 'wsl_settings_' . $provider_id . '_enabled' ?>"
|
127 |
onChange="toggleproviderkeys('<?php echo $provider_id; ?>')"
|
128 |
>
|
129 |
+
<option value="1" <?php if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ) echo "selected"; ?> ><?php _wsl_e("Yes", 'wordpress-social-login') ?></option>
|
130 |
+
<option value="0" <?php if( ! get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ) echo "selected"; ?> ><?php _wsl_e("No", 'wordpress-social-login') ?></option>
|
131 |
</select>
|
132 |
</td>
|
133 |
+
<td style="width:160px"> </td>
|
134 |
</tr>
|
135 |
|
136 |
<?php if ( $provider_new_app_link ){ ?>
|
155 |
<?php } // if require registration ?>
|
156 |
</tbody>
|
157 |
</table>
|
158 |
+
|
159 |
+
<?php if ( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ) : ?>
|
160 |
+
<?php if ( $provider_new_app_link && strlen( trim( get_option( 'wsl_settings_' . $provider_id . '_app_secret' ) ) ) == 0 ) : ?>
|
161 |
+
<div class="fade error">
|
162 |
+
<p>
|
163 |
+
<?php echo sprintf( _wsl__('<b>%s</b> requires that you create an external application linking your website to their API. To know how to create this application, click on “Where do I get this info?” and follow the steps', 'wordpress-social-login'), $provider_name, $provider_name ) ?>.
|
164 |
+
</p>
|
165 |
+
</div>
|
166 |
+
<?php elseif ( in_array( $provider_id, array( "Twitter", "Identica", "Tumblr", "Goodreads", "500px", "Vkontakte", "Gowalla", "Steam" ) ) ) : ?>
|
167 |
+
<div class="fade updated">
|
168 |
+
<p>
|
169 |
+
<b><?php _wsl_e("Note", 'wordpress-social-login') ?>:</b>
|
170 |
+
|
171 |
+
<?php echo sprintf( _wsl__("<b>%s</b> do not provide their user's email address and by default a random email will then be generated for them instead", 'wordpress-social-login'), $provider_name ) ?>.
|
172 |
+
|
173 |
+
<?php _wsl_e('To change this behaviour and to force new registered users to provide their emails before they get in, goto <b><a href="options-general.php?page=wordpress-social-login&wslp=bouncer">Bouncer</a></b> and enable <b>Profile Completion</b>', 'wordpress-social-login') ?>.
|
174 |
+
</p>
|
175 |
+
</div>
|
176 |
+
<?php endif; ?>
|
177 |
+
<?php endif; ?>
|
178 |
+
|
179 |
+
<?php if ( 0 && in_array( $provider_id, array( "Facebook", "Google" ) ) ) : ?>
|
180 |
+
<br />
|
181 |
+
<hr />
|
182 |
+
<p style="margin-left:12px;margin-bottom:0px;">
|
183 |
+
<b><?php _wsl_e("Note", 'wordpress-social-login') ?>:</b>
|
184 |
+
|
185 |
+
<?php echo sprintf( _wsl__("<b>WSL</b> will ask <b>%s</b> users for a set number of permissions, however you can change these said permissions using a filter", 'wordpress-social-login'), $provider_name ) ?>.
|
186 |
+
|
187 |
+
<?php _wsl_e('For more information, please refer to <b><a href="options-general.php?page=wordpress-social-login&wslp=help&wslhelp=filters">this page</a></b>', 'wordpress-social-login') ?>.
|
188 |
+
</p>
|
189 |
<?php endif; ?>
|
190 |
<br />
|
191 |
<div
|
203 |
<br />
|
204 |
<br />
|
205 |
|
206 |
+
<?php echo sprintf( _wsl__('To enable authentication with this provider and to register a new <b>%s API Application</b>, follow the steps', 'wordpress-social-login'), $provider_name ) ?>
|
207 |
:<br />
|
208 |
<?php else: ?>
|
209 |
<p><?php echo sprintf( _wsl__('<b>Done.</b> Nothing more required for <b>%s</b>', 'wordpress-social-login'), $provider_name) ?>.</p>
|
210 |
<?php endif; ?>
|
211 |
+
<div style="margin-left:40px;">
|
212 |
<?php if ( $provider_new_app_link ) : ?>
|
213 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php echo sprintf( _wsl__( 'First go to: <a href="%s" target ="_blank">%s</a>', 'wordpress-social-login'), $provider_new_app_link, $provider_new_app_link ) ?></p>
|
214 |
+
|
215 |
+
<?php if ( $provider_id == "Google" ) : ?>
|
216 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e('On the <b>Dashboard sidebar</b> click on <b>Project</b> then click <em style="color:#0147bb;">“Create Project”</em>', 'wordpress-social-login') ?>.</p>
|
217 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Once the project is created. Select that project, then <b>APIs & auth</b> > <b>Consent screen</b> and fill the required information", 'wordpress-social-login') ?>.</p>
|
218 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e('Then <b>APIs & auth</b> > <b>APIs</b> and enable <em style="color:#0147bb;">“Google+ API”</em>. If you want to import the user contatcs enable <em style="color:#0147bb;">“Contacts API”</em> as well', 'wordpress-social-login') ?>.</p>
|
219 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("After that you will need to create an new application: <b>APIs & auth</b> > <b>Credentials</b> and then click <em style=\"color:#0147bb;\">“Create new Client ID”</em>", 'wordpress-social-login') ?>.</p>
|
220 |
+
</p>
|
221 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("On the <b>“Create Client ID”</b> popup", 'wordpress-social-login') ?> :</p>
|
222 |
+
<ul style="margin-left:35px">
|
223 |
+
<li><?php _wsl_e('Select <em style="color:#0147bb;">“Web application”</em> as your application type', 'wordpress-social-login') ?>.</li>
|
224 |
+
<li><?php _wsl_e("Put your website domain in the <b>Authorized JavaScript origins</b> field. This should match with the current hostname", 'wordpress-social-login') ?> <em style="color:#CB4B16;"><?php echo $_SERVER["SERVER_NAME"]; ?></em>.</li>
|
225 |
+
<li><?php _wsl_e("Provide this URL as the <b>Authorized redirect URI</b> for your application", 'wordpress-social-login') ?>: <br /><?php echo $provider_callback_url ?></li>
|
226 |
+
</ul>
|
227 |
+
<?php elseif ( $provider_id == "Facebook" ) : ?>
|
228 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Select <b>Add a New App</b> from the <b>Apps</b> menu at the top", 'wordpress-social-login') ?>.</p>
|
229 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Fill out Display Name, Namespace, choose a category and click <b>Create App</b>", 'wordpress-social-login') ?>.</p>
|
230 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Go to Settings page and click on <b>Add Platform</b>. Choose website and enter in the new screen your website url in <b>App Domains</b> and <b>Site URL</b> fields", 'wordpress-social-login') ?>.
|
231 |
+
<?php _wsl_e("They should match with the current hostname", 'wordpress-social-login') ?> <em style="color:#CB4B16;"><?php echo $_SERVER["SERVER_NAME"]; ?></em>.</p>
|
232 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Go to the <b>Status & Review</b> page and choose <b>yes</b> where it says <b>Do you want to make this app and all its live features available to the general public?</b>", 'wordpress-social-login') ?>.</p>
|
233 |
+
<?php else: ?>
|
234 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Create a new application", 'wordpress-social-login') ?>.</p>
|
235 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Fill out any required fields such as the application name and description", 'wordpress-social-login') ?>.</p>
|
236 |
+
<?php endif; ?>
|
237 |
+
|
238 |
+
<?php if ( $provider_callback_url && $provider_id != "Google" && $provider_id != "Facebook" ) : ?>
|
239 |
+
<p>
|
240 |
+
<?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Provide this URL as the <b>Callback URL</b> for your application", 'wordpress-social-login') ?>:
|
241 |
+
<br />
|
242 |
+
<?php echo $provider_callback_url ?>
|
243 |
+
</p>
|
244 |
+
<?php endif; ?>
|
245 |
+
|
246 |
+
<?php if ( $provider_id == "Live" ) : ?>
|
247 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Put your website domain in the <b>Redirect Domain</b> field. This should match with the current hostname", 'wordpress-social-login') ?> <em style="color:#CB4B16;"><?php echo $_SERVER["SERVER_NAME"]; ?></em>.</p>
|
248 |
+
<?php endif; ?>
|
249 |
+
|
250 |
+
<?php if ( $provider_id == "LinkedIn" ) : ?>
|
251 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e('Choose <b>Live</b> on <b>Live Status</b>.', 'wordpress-social-login') ?></p>
|
252 |
+
<?php endif; ?>
|
253 |
+
|
254 |
+
<?php if ( $provider_id == "Google" ) : ?>
|
255 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Once you have registered past the created application credentials (Client ID and Secret) into the boxes above", 'wordpress-social-login') ?>.</p>
|
256 |
+
<?php elseif ( $provider_id == "Twitter" ) : ?>
|
257 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Once you have registered, past the created application credentials (Customer Key and Secret) into the boxes above", 'wordpress-social-login') ?>.</p>
|
258 |
+
<?php elseif ( $provider_id == "Facebook" ) : ?>
|
259 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Go back to the <b>Dashboard</b> page and past the created application credentials (APP ID and Secret) into the boxes above", 'wordpress-social-login') ?>.</p>
|
260 |
+
<?php else: ?>
|
261 |
+
<p><?php echo "<b>" . ++$setupsteps . "</b>." ?> <?php _wsl_e("Once you have registered, past the created application credentials into the boxes above", 'wordpress-social-login') ?>.</p>
|
262 |
+
<?php endif; ?>
|
263 |
+
|
264 |
<?php endif; ?>
|
265 |
|
266 |
<?php if ( $provider_id == "Facebook" ) : ?>
|
|
|
267 |
<table style="text-align: center;margin-bottom:12px;">
|
268 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/1.png"></a></td>
|
269 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/2.png"></a></td>
|
270 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/facebook/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/facebook/3.png"></a></td>
|
271 |
</table>
|
|
|
272 |
<?php endif; ?>
|
273 |
+
|
274 |
<?php if ( $provider_id == "Google" ) : ?>
|
|
|
275 |
<table style="text-align: center;margin-bottom:12px;">
|
276 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/1.png"></a></td>
|
277 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/2.png"></a></td>
|
278 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/google/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/google/3.png"></a></td>
|
279 |
</table>
|
|
|
280 |
<?php endif; ?>
|
281 |
+
|
282 |
<?php if ( $provider_id == "Twitter" ) : ?>
|
|
|
283 |
<table style="text-align: center;margin-bottom:12px;">
|
284 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/1.png"></a></td>
|
285 |
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/2.png"></a></td>
|
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 ) : ?>
|
292 |
+
<hr />
|
293 |
+
<p>
|
294 |
+
<b><?php _wsl_e("And that's it!", 'wordpress-social-login') ?></b>
|
295 |
+
<br />
|
296 |
+
<?php echo sprintf( _wsl__( 'If for some reason you still can\'t manage to create an application for %s, first try to <a href="https://www.google.com/search?q=%s API create application" target="_blank">Google it</a>, then check it on <a href="http://www.youtube.com/results?search_query=%s API create application " target="_blank">Youtube</a>, and if nothing works <a href="options-general.php?page=wordpress-social-login&wslp=help">ask for support</a>', 'wordpress-social-login'), $provider_name, $provider_name, $provider_name ) ?>.
|
297 |
+
</p>
|
298 |
+
<?php endif; ?>
|
299 |
</div>
|
300 |
</div>
|
301 |
</div>
|
includes/admin/components/networks/wsl.components.networks.whyhello.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -18,29 +18,28 @@ function wsl_component_networks_whyhello()
|
|
18 |
?>
|
19 |
<div class="postbox " id="linksubmitdiv">
|
20 |
<div class="inside">
|
21 |
-
<div id="submitlink" class="submitbox"> <h3 style="cursor: default;"><?php _wsl_e("
|
22 |
<div id="minor-publishing">
|
23 |
|
24 |
<div style="display:none;"><input type="submit" value="Save" class="button" id="save" name="save"></div>
|
25 |
|
26 |
<div id="misc-publishing-actions">
|
27 |
<div class="misc-pub-section">
|
28 |
-
<p style="line-height: 19px;font-size: 13px;"
|
29 |
-
<?php _wsl_e('
|
30 |
</p>
|
31 |
-
<p style="line-height: 19px;"
|
32 |
-
<?php _wsl_e('
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
</p>
|
34 |
</div>
|
35 |
</div>
|
36 |
</div>
|
37 |
-
|
38 |
-
<div id="major-publishing-actions">
|
39 |
-
<div id="publishing-action">
|
40 |
-
<input type="submit" value="<?php _wsl_e('Save Settings', 'wordpress-social-login') ?>" class="button-large button-primary" name="save" >
|
41 |
-
</div>
|
42 |
-
<div class="clear"></div>
|
43 |
-
</div>
|
44 |
</div>
|
45 |
</div>
|
46 |
</div>
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
18 |
?>
|
19 |
<div class="postbox " id="linksubmitdiv">
|
20 |
<div class="inside">
|
21 |
+
<div id="submitlink" class="submitbox"> <h3 style="cursor: default;"><?php _wsl_e("Welcome to WordPress Social Login", 'wordpress-social-login') ?></h3>
|
22 |
<div id="minor-publishing">
|
23 |
|
24 |
<div style="display:none;"><input type="submit" value="Save" class="button" id="save" name="save"></div>
|
25 |
|
26 |
<div id="misc-publishing-actions">
|
27 |
<div class="misc-pub-section">
|
28 |
+
<p style="line-height: 19px;font-size: 13px;" >
|
29 |
+
<?php _wsl_e('<b>WordPress Social Login</b> allows your website visitors and customers to register on using their existing social account ID, eliminating the need to fill out registration forms and remember usernames and passwords', 'wordpress-social-login') ?>.
|
30 |
</p>
|
31 |
+
<p style="line-height: 19px;">
|
32 |
+
<?php _wsl_e('By default, we have enabled <b>Facebook</b>, <b>Google</b> and <b>Twitter</b>, however you may add even more networks from the section bellow', 'wordpress-social-login') ?>.
|
33 |
+
</p>
|
34 |
+
<p style="line-height: 19px;">
|
35 |
+
<?php _wsl_e('For further information, we recommend to read the online <b><a href="http://hybridauth.sourceforge.net/wsl/index.html" target="_blank">WSL user guide</a></b>', 'wordpress-social-login') ?>.
|
36 |
+
</p>
|
37 |
+
<p style="line-height: 19px;">
|
38 |
+
<?php _wsl_e('If you run into any issue, then refer to <b><a href="options-general.php?page=wordpress-social-login&wslp=help">Help & Support</a></b> to konw how to reach me', 'wordpress-social-login') ?>.
|
39 |
</p>
|
40 |
</div>
|
41 |
</div>
|
42 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
</div>
|
44 |
</div>
|
45 |
</div>
|
includes/admin/components/users/index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
includes/admin/components/users/wsl.components.users.list.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -16,119 +16,184 @@ function wsl_component_users_list()
|
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_users_list_start" );
|
18 |
|
19 |
-
GLOBAL $wpdb;
|
20 |
-
|
21 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
22 |
|
23 |
-
|
24 |
-
$
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
<th><span><?php _wsl_e("Full Name", 'wordpress-social-login') ?></span></th>
|
33 |
-
<th><span><?php _wsl_e("E-mail", 'wordpress-social-login') ?></span></th>
|
34 |
-
<th><span><?php _wsl_e("Profile URL", 'wordpress-social-login') ?></span></th>
|
35 |
-
<th width="60"><span><?php _wsl_e("Contacts", 'wordpress-social-login') ?></span></th>
|
36 |
-
<th width="140"><span><?php _wsl_e("Actions", 'wordpress-social-login') ?></span></th>
|
37 |
-
</tr>
|
38 |
-
</thead>
|
39 |
-
<tfoot>
|
40 |
-
<tr>
|
41 |
-
<th width="100"><span><?php _wsl_e("Providers", 'wordpress-social-login') ?></span></th>
|
42 |
-
<th><span><?php _wsl_e("Username", 'wordpress-social-login') ?></span></th>
|
43 |
-
<th><span><?php _wsl_e("Full Name", 'wordpress-social-login') ?></span></th>
|
44 |
-
<th><span><?php _wsl_e("E-mail", 'wordpress-social-login') ?></span></th>
|
45 |
-
<th><span><?php _wsl_e("Profile URL", 'wordpress-social-login') ?></span></th>
|
46 |
-
<th><span><?php _wsl_e("Contacts", 'wordpress-social-login') ?></span></th>
|
47 |
-
<th><span><?php _wsl_e("Actions", 'wordpress-social-login') ?></span></th>
|
48 |
-
</tr>
|
49 |
-
</tfoot>
|
50 |
-
<tbody data-wp-lists="list:user" id="the-list">
|
51 |
-
<?php
|
52 |
-
// have users?
|
53 |
-
if( ! $rs1 ){
|
54 |
-
?>
|
55 |
-
<tr class="no-items"><td colspan="6" class="colspanchange"><?php _wsl_e("No users found", 'wordpress-social-login') ?>.</td></tr>
|
56 |
-
<?php
|
57 |
-
}
|
58 |
-
else{
|
59 |
-
$i = 0;
|
60 |
-
foreach( $rs1 as $items ){
|
61 |
-
$provider = $items->meta_value;
|
62 |
-
$user_id = $items->user_id;
|
63 |
?>
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
|
|
|
|
|
|
|
|
|
|
71 |
foreach( $linked_accounts AS $link ){
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
}
|
78 |
}
|
79 |
?>
|
80 |
</td>
|
81 |
-
<td>
|
82 |
-
<?php
|
83 |
<img width="32" height="32" class="avatar avatar-32 photo" src="<?php echo $wsl_user_image ?>" >
|
84 |
-
<?php } else { ?>
|
85 |
-
<img width="32" height="32" class="avatar avatar-32 photo" src="http://
|
86 |
<?php } ?>
|
87 |
-
|
88 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
</td>
|
90 |
-
<td><?php echo
|
91 |
<td>
|
92 |
-
<?php
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
-
|
97 |
-
<?php } ?>
|
98 |
<?php } ?>
|
99 |
</td>
|
100 |
<td>
|
101 |
-
<?php
|
102 |
-
<a href="<?php echo $user_url ?>" target="_blank"><?php echo str_ireplace( array("http://www.", "https://www.", "http://","https://"), array('','','','',''), $user_url ) ?></a>
|
103 |
<?php } else { ?>
|
104 |
-
|
105 |
<?php } ?>
|
106 |
</td>
|
107 |
<td align="center">
|
108 |
<?php
|
109 |
-
$
|
110 |
-
$rs = $wpdb->get_results( $sql );
|
111 |
|
112 |
-
if( $
|
113 |
-
|
|
|
|
|
114 |
}
|
115 |
else{
|
116 |
echo "0";
|
117 |
}
|
118 |
?>
|
119 |
</td>
|
120 |
-
<td>
|
121 |
-
<a class="button button-secondary" href="options-general.php?page=wordpress-social-login&wslp=users&uid=<?php echo $user_id ?>">Profile</a>
|
122 |
-
<a class="button button-secondary" href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=<?php echo $user_id ?>">Contacts</a>
|
123 |
-
</td>
|
124 |
</tr>
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
<?php
|
133 |
// HOOKABLE:
|
134 |
do_action( "wsl_component_users_list_end" );
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_users_list_start" );
|
18 |
|
|
|
|
|
19 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
20 |
|
21 |
+
// If action eq delete WSL user profiles
|
22 |
+
if( isset( $_REQUEST['delete'] ) && isset( $_REQUEST['_wpnonce'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'] ) ) {
|
23 |
+
$uid = (int) $_REQUEST['delete'];
|
24 |
+
|
25 |
+
$user_data = get_userdata( $uid );
|
26 |
+
|
27 |
+
if( $user_data ){
|
28 |
+
wsl_delete_stored_hybridauth_user_data( $uid );
|
29 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
?>
|
31 |
+
<div class="fade updated" style="margin: 0px 0px 10px;">
|
32 |
+
<p>
|
33 |
+
<?php echo sprintf( _wsl__( "WSL user ID #%d: <b>%s</b> profiles and contacts has been deleted. Note that the associated WordPress user wasn't deleted", 'wordpress-social-login'), $uid, $user_data->user_login ) ?>.
|
34 |
+
</p>
|
35 |
+
</div>
|
36 |
+
<?php
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
$pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 1;
|
41 |
+
$limit = 25; // number of rows in page
|
42 |
+
$offset = ( $pagenum - 1 ) * $limit;
|
43 |
+
$total = wsl_get_stored_hybridauth_user_profiles_count();
|
44 |
+
$num_of_pages = ceil( $total / $limit );
|
45 |
+
?>
|
46 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
47 |
+
<p style="float: right; margin: -5px;">
|
48 |
+
<a class="button button-secondary" href="users.php"><?php _wsl_e("Show all the existing users on your website", 'wordpress-social-login'); ?></a>
|
49 |
+
</p>
|
50 |
+
|
51 |
+
<?php _wsl_e( "This screen only list the users who have connected through WordPress Social Login", 'wordpress-social-login' ) ?>.
|
52 |
+
</div>
|
53 |
+
|
54 |
+
<table cellspacing="0" class="wp-list-table widefat fixed users">
|
55 |
+
<thead>
|
56 |
+
<tr>
|
57 |
+
<th width="100"><span><?php _wsl_e("Providers", 'wordpress-social-login') ?></span></th>
|
58 |
+
<th><span><?php _wsl_e("Username", 'wordpress-social-login') ?></span></th>
|
59 |
+
<th><span><?php _wsl_e("Full Name", 'wordpress-social-login') ?></span></th>
|
60 |
+
<th><span><?php _wsl_e("E-mail", 'wordpress-social-login') ?></span></th>
|
61 |
+
<th><span><?php _wsl_e("Profile URL", 'wordpress-social-login') ?></span></th>
|
62 |
+
<th width="80"><span><?php _wsl_e("Contacts", 'wordpress-social-login') ?></span></th>
|
63 |
+
</tr>
|
64 |
+
</thead>
|
65 |
+
<tfoot>
|
66 |
+
<tr>
|
67 |
+
<th width="100"><span><?php _wsl_e("Providers", 'wordpress-social-login') ?></span></th>
|
68 |
+
<th><span><?php _wsl_e("Username", 'wordpress-social-login') ?></span></th>
|
69 |
+
<th><span><?php _wsl_e("Full Name", 'wordpress-social-login') ?></span></th>
|
70 |
+
<th><span><?php _wsl_e("E-mail", 'wordpress-social-login') ?></span></th>
|
71 |
+
<th><span><?php _wsl_e("Profile URL", 'wordpress-social-login') ?></span></th>
|
72 |
+
<th width="80"><span><?php _wsl_e("Contacts", 'wordpress-social-login') ?></span></th>
|
73 |
+
</tr>
|
74 |
+
</tfoot>
|
75 |
+
<tbody data-wp-lists="list:user" id="the-list">
|
76 |
+
<?php
|
77 |
+
$data = wsl_get_stored_hybridauth_user_profiles_grouped_by_user_id( $offset, $limit );
|
78 |
+
|
79 |
+
// have users?
|
80 |
+
if( ! $data ){
|
81 |
+
?>
|
82 |
+
<tr class="no-items"><td colspan="5" class="colspanchange"><?php _wsl_e("No users found", 'wordpress-social-login') ?>.</td></tr>
|
83 |
+
<?php
|
84 |
+
}
|
85 |
+
else{
|
86 |
+
$i = 0;
|
87 |
+
foreach( $data as $items ){
|
88 |
+
$user_id = $items->user_id;
|
89 |
+
$wsl_user_image = $items->photourl;
|
90 |
+
|
91 |
+
$user_data = get_userdata( $user_id );
|
92 |
+
|
93 |
+
if( ! $user_data ){
|
94 |
+
continue;
|
95 |
+
}
|
96 |
|
97 |
+
$linked_accounts = wsl_get_stored_hybridauth_user_profiles_by_user_id( $user_id );
|
98 |
+
?>
|
99 |
+
<tr class="<?php if( ++$i % 2 ) echo "alternate" ?> tr-contacts">
|
100 |
+
<td nowrap>
|
101 |
+
<?php
|
102 |
foreach( $linked_accounts AS $link ){
|
103 |
+
?>
|
104 |
+
<img src="<?php echo $assets_base_url . strtolower( $link->provider ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php echo $link->provider ?><br />
|
105 |
+
<?php
|
106 |
+
if( $link->photourl ){
|
107 |
+
$wsl_user_image = $link->photourl;
|
108 |
}
|
109 |
}
|
110 |
?>
|
111 |
</td>
|
112 |
+
<td class="column-author">
|
113 |
+
<?php if( $wsl_user_image ) { ?>
|
114 |
<img width="32" height="32" class="avatar avatar-32 photo" src="<?php echo $wsl_user_image ?>" >
|
115 |
+
<?php } else { ?>
|
116 |
+
<img width="32" height="32" class="avatar avatar-32 photo" src="http://www.gravatar.com/avatar/<?php echo md5( strtolower( trim( $user_data->user_email ) ) ); ?>" >
|
117 |
<?php } ?>
|
118 |
+
|
119 |
+
<strong><a href="options-general.php?page=wordpress-social-login&wslp=users&uid=<?php echo $user_id ?>"><?php echo $user_data->user_login; ?></a></strong>
|
120 |
+
|
121 |
+
<div class="row-actions">
|
122 |
+
<span class="view">
|
123 |
+
<a href="options-general.php?page=wordpress-social-login&wslp=users&uid=<?php echo $user_id ?>"><?php _wsl_e("Profiles", 'wordpress-social-login') ?></a>
|
124 |
+
|
|
125 |
+
</span>
|
126 |
+
|
127 |
+
<span class="view">
|
128 |
+
<a href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=<?php echo $user_id ?>"><?php _wsl_e("Contacts", 'wordpress-social-login') ?></a>
|
129 |
+
|
|
130 |
+
</span>
|
131 |
+
|
132 |
+
<span class="delete">
|
133 |
+
<?php
|
134 |
+
$delete_url = wp_nonce_url( 'options-general.php?page=wordpress-social-login&wslp=users&delete=' . $user_id );
|
135 |
+
?>
|
136 |
+
<a style="color: #a00;" href="<?php echo $delete_url ?>" onClick="return confirmDeleteWSLUser();"><?php _wsl_e("Delete", 'wordpress-social-login') ?></a>
|
137 |
+
</span>
|
138 |
+
</div>
|
139 |
</td>
|
140 |
+
<td><?php echo $user_data->display_name; ?></td>
|
141 |
<td>
|
142 |
+
<?php if( ! strstr( $user_data->user_email, "@example.com" ) ) { ?>
|
143 |
+
<a href="mailto:<?php echo $user_data->user_email; ?>"><?php echo $user_data->user_email; ?></a>
|
144 |
+
<?php } else { ?>
|
145 |
+
-
|
|
|
|
|
146 |
<?php } ?>
|
147 |
</td>
|
148 |
<td>
|
149 |
+
<?php if( $user_data->user_url ) { ?>
|
150 |
+
<a href="<?php echo $user_data->user_url; ?>" target="_blank"><?php echo str_ireplace( array("http://www.", "https://www.", "http://","https://"), array('','','','',''), $user_data->user_url ) ?></a>
|
151 |
<?php } else { ?>
|
152 |
-
|
153 |
<?php } ?>
|
154 |
</td>
|
155 |
<td align="center">
|
156 |
<?php
|
157 |
+
$counts = wsl_get_stored_hybridauth_user_contacts_count_by_user_id( $user_id );
|
|
|
158 |
|
159 |
+
if( $counts ){
|
160 |
+
?>
|
161 |
+
<a href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=<?php echo $user_id ?>"><?php echo $counts; ?></a>
|
162 |
+
<?php
|
163 |
}
|
164 |
else{
|
165 |
echo "0";
|
166 |
}
|
167 |
?>
|
168 |
</td>
|
|
|
|
|
|
|
|
|
169 |
</tr>
|
170 |
+
<?php
|
171 |
+
}
|
172 |
+
}// have users?
|
173 |
+
?>
|
174 |
+
</tbody>
|
175 |
+
</table>
|
176 |
+
|
177 |
+
<?php
|
178 |
+
$page_links = paginate_links( array(
|
179 |
+
'base' => add_query_arg( 'pagenum', '%#%' ),
|
180 |
+
'format' => '',
|
181 |
+
'prev_text' => __( '«', 'text-domain' ),
|
182 |
+
'next_text' => __( '»', 'text-domain' ),
|
183 |
+
'total' => $num_of_pages,
|
184 |
+
'current' => $pagenum
|
185 |
+
));
|
186 |
+
|
187 |
+
if ( $page_links ) {
|
188 |
+
echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>';
|
189 |
+
}
|
190 |
+
?>
|
191 |
+
<script>
|
192 |
+
function confirmDeleteWSLUser()
|
193 |
+
{
|
194 |
+
return confirm( <?php echo json_encode( _wsl__("Are you sure to delete this WSL user profiles and contacts?\n\nNote: The associated WordPress user won't deleted.", 'wordpress-social-login') ) ?> );
|
195 |
+
}
|
196 |
+
</script>
|
197 |
<?php
|
198 |
// HOOKABLE:
|
199 |
do_action( "wsl_component_users_list_end" );
|
includes/admin/components/users/wsl.components.users.profile.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -16,59 +16,128 @@ function wsl_component_users_profile( $user_id )
|
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_users_profile_start" );
|
18 |
|
19 |
-
$
|
20 |
|
21 |
-
|
22 |
-
_wsl_e("USER DOES NOT EXIST!", 'wordpress-social-login');
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
-
|
|
|
|
|
30 |
<style>
|
31 |
table td, table th { border: 1px solid #DDDDDD; }
|
32 |
table th label { font-weight: bold; }
|
33 |
.form-table th { width:120px; text-align:right; }
|
|
|
34 |
</style>
|
35 |
-
|
36 |
-
|
37 |
-
<
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
<hr />
|
40 |
-
|
41 |
foreach( $linked_accounts AS $link ){
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
<tr><th><label><?php echo $link->provider; ?> Identifier </label></th><td><?php echo $link->identifier ; ?> <br /><span class="description">The Unique user's ID. Can be an interger for some providers, Email, URL, etc.</span></td></tr>
|
47 |
-
<tr><th><label>Wordpress Identifier </label></th><td><?php echo $user_id; ?> <br /><span class="description">The Unique user's ID on your website.</span></td></tr>
|
48 |
-
<tr><th><label>Profile URL </label></th><td><a href="<?php echo $link->profileurl; ?>"><?php echo $link->profileurl; ?></a> <br /><span class="description">URL link to profile page on the <?php echo $link->provider; ?> web site.</span></td></tr>
|
49 |
-
<tr><th><label>Website URL </label></th><td><a href="<?php echo $link->websiteurl; ?>"><?php echo $link->websiteurl; ?></a> <br /><span class="description">User website, blog, web page, etc.</span></td></tr>
|
50 |
-
<tr><th><label>Photo URL </label></th><td><a href="<?php echo $link->photourl; ?>"><?php echo $link->photourl; ?></a> <br /><span class="description">URL link to user photo or avatar.</span></td></tr>
|
51 |
-
<tr><th><label>Display name </label></th><td><?php echo $link->displayname ; ?> <br /><span class="description">User dispaly Name provided by the <?php echo $link->provider; ?> or a concatenation of first and last name.</span></td></tr>
|
52 |
-
<tr><th><label>Description </label></th><td><?php echo $link->description ; ?>
|
53 |
-
<tr><th><label>First name </label></th><td><?php echo $link->firstname ; ?>
|
54 |
-
<tr><th><label>Last name </label></th><td><?php echo $link->lastname ; ?>
|
55 |
-
<tr><th><label>Gender </label></th><td><?php echo $link->gender ; ?>
|
56 |
-
<tr><th><label>Language </label></th><td><?php echo $link->language ; ?>
|
57 |
-
<tr><th><label>Age </label></th><td><?php echo $link->age ; ?>
|
58 |
-
<tr><th><label>Birth day </label></th><td><?php echo $link->birthday ; ?>
|
59 |
-
<tr><th><label>Birth month </label></th><td><?php echo $link->birthmonth ; ?>
|
60 |
-
<tr><th><label>Birth year </label></th><td><?php echo $link->birthyear ; ?>
|
61 |
-
<tr><th><label>Email </label></th><td><?php echo $link->email ; ?>
|
62 |
-
<tr><th><label>Phone </label></th><td><?php echo $link->phone ; ?>
|
63 |
-
<tr><th><label>Address </label></th><td><?php echo $link->address ; ?>
|
64 |
-
<tr><th><label>Country </label></th><td><?php echo $link->country ; ?>
|
65 |
-
<tr><th><label>Region </label></th><td><?php echo $link->region ; ?>
|
66 |
-
<tr><th><label>City </label></th><td><?php echo $link->city ; ?>
|
67 |
-
<tr><th><label>Zip </label></th><td><?php echo $link->zip ; ?>
|
68 |
-
</tr>
|
69 |
-
</table>
|
70 |
<?php
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
// HOOKABLE:
|
74 |
do_action( "wsl_component_users_profile_end" );
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
16 |
// HOOKABLE:
|
17 |
do_action( "wsl_component_users_profile_start" );
|
18 |
|
19 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
20 |
|
21 |
+
$linked_accounts = wsl_get_stored_hybridauth_user_profiles_by_user_id( $user_id );
|
|
|
22 |
|
23 |
+
// is it a WSL user?
|
24 |
+
if( ! $linked_accounts ){
|
25 |
+
?>
|
26 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
27 |
+
<?php _wsl_e( "This's not a WSL user!", 'wordpress-social-login' ); ?>.
|
28 |
+
</div>
|
29 |
+
<?php
|
30 |
return;
|
31 |
}
|
32 |
|
33 |
+
# http://hybridauth.sourceforge.net/userguide/Profile_Data_User_Profile.html
|
34 |
+
$ha_profile_fields = array(
|
35 |
+
array( 'field' => 'identifier' , 'label' => _wsl__( "Provider user ID" , 'wordpress-social-login'), 'description' => _wsl__( "The Unique user's ID on the connected provider. Depending on the provider, this field can be an number, Email, URL, etc", 'wordpress-social-login') ),
|
36 |
+
array( 'field' => 'profileURL' , 'label' => _wsl__( "Profile URL" , 'wordpress-social-login'), 'description' => _wsl__( "Link to the user profile on the provider web site" , 'wordpress-social-login') ),
|
37 |
+
array( 'field' => 'webSiteURL' , 'label' => _wsl__( "Website URL" , 'wordpress-social-login'), 'description' => _wsl__( "User website, blog or web page" , 'wordpress-social-login') ),
|
38 |
+
array( 'field' => 'photoURL' , 'label' => _wsl__( "Photo URL" , 'wordpress-social-login'), 'description' => _wsl__( "Link to user picture or avatar on the provider web site" , 'wordpress-social-login') ),
|
39 |
+
array( 'field' => 'displayName' , 'label' => _wsl__( "Display name" , 'wordpress-social-login'), 'description' => _wsl__( "User Display name. If not provided by social network, WSL will return a concatenation of the user first and last name" , 'wordpress-social-login') ),
|
40 |
+
array( 'field' => 'description' , 'label' => _wsl__( "Description" , 'wordpress-social-login'), 'description' => _wsl__( "A short about me" , 'wordpress-social-login') ),
|
41 |
+
array( 'field' => 'firstName' , 'label' => _wsl__( "First name" , 'wordpress-social-login'), 'description' => _wsl__( "User's first name" , 'wordpress-social-login') ),
|
42 |
+
array( 'field' => 'lastName' , 'label' => _wsl__( "Last name" , 'wordpress-social-login'), 'description' => _wsl__( "User's last name" , 'wordpress-social-login') ),
|
43 |
+
array( 'field' => 'gender' , 'label' => _wsl__( "Gender" , 'wordpress-social-login'), 'description' => _wsl__( "User's gender. Values are 'female', 'male' or blank" , 'wordpress-social-login') ),
|
44 |
+
array( 'field' => 'language' , 'label' => _wsl__( "Language" , 'wordpress-social-login'), 'description' => _wsl__( "User's language" , 'wordpress-social-login') ),
|
45 |
+
array( 'field' => 'age' , 'label' => _wsl__( "Age" , 'wordpress-social-login'), 'description' => _wsl__( "User' age. Note that WSL do not calculate this field. We return it as it was provided" , 'wordpress-social-login') ),
|
46 |
+
array( 'field' => 'birthDay' , 'label' => _wsl__( "Birth day" , 'wordpress-social-login'), 'description' => _wsl__( "The day in the month in which the person was born. Not to confuse it with 'Birth date'" , 'wordpress-social-login') ),
|
47 |
+
array( 'field' => 'birthMonth' , 'label' => _wsl__( "Birth month" , 'wordpress-social-login'), 'description' => _wsl__( "The month in which the person was born" , 'wordpress-social-login') ),
|
48 |
+
array( 'field' => 'birthYear' , 'label' => _wsl__( "Birth year" , 'wordpress-social-login'), 'description' => _wsl__( "The year in which the person was born" , 'wordpress-social-login') ),
|
49 |
+
array( 'field' => 'email' , 'label' => _wsl__( "Email" , 'wordpress-social-login'), 'description' => _wsl__( "User's email address. Note: some providers like Facebook and Google can provide verified emails. Users with the same verified email will be automatically linked", 'wordpress-social-login') ),
|
50 |
+
array( 'field' => 'phone' , 'label' => _wsl__( "Phone" , 'wordpress-social-login'), 'description' => _wsl__( "User's phone number" , 'wordpress-social-login') ),
|
51 |
+
array( 'field' => 'address' , 'label' => _wsl__( "Address" , 'wordpress-social-login'), 'description' => _wsl__( "User's address" , 'wordpress-social-login') ),
|
52 |
+
array( 'field' => 'country' , 'label' => _wsl__( "Country" , 'wordpress-social-login'), 'description' => _wsl__( "User's country" , 'wordpress-social-login') ),
|
53 |
+
array( 'field' => 'region' , 'label' => _wsl__( "Region" , 'wordpress-social-login'), 'description' => _wsl__( "User's state or region" , 'wordpress-social-login') ),
|
54 |
+
array( 'field' => 'city' , 'label' => _wsl__( "City" , 'wordpress-social-login'), 'description' => _wsl__( "User's city" , 'wordpress-social-login') ),
|
55 |
+
array( 'field' => 'zip' , 'label' => _wsl__( "Zip" , 'wordpress-social-login'), 'description' => _wsl__( "User's zipcode" , 'wordpress-social-login') ),
|
56 |
+
);
|
57 |
|
58 |
+
# http://codex.wordpress.org/Function_Reference/get_userdata
|
59 |
+
$user_info = get_userdata( $user_id );
|
60 |
+
?>
|
61 |
<style>
|
62 |
table td, table th { border: 1px solid #DDDDDD; }
|
63 |
table th label { font-weight: bold; }
|
64 |
.form-table th { width:120px; text-align:right; }
|
65 |
+
p.description { font-size: 11px ! important; margin:0 ! important;}
|
66 |
</style>
|
67 |
+
|
68 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
69 |
+
<p style="float: right; margin: -5px;">
|
70 |
+
<a class="button button-secondary" href="user-edit.php?user_id=<?php echo $user_id ?>"><?php _wsl_e("Edit user details", 'wordpress-social-login'); ?></a>
|
71 |
+
<a class="button button-secondary" href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=<?php echo $user_id ?>"><?php _wsl_e("Show user contacts list", 'wordpress-social-login'); ?></a>
|
72 |
+
</p>
|
73 |
+
|
74 |
+
<b><?php echo $user_info->display_name; ?></b> :
|
75 |
+
<?php echo sprintf( _wsl__("Wordpress user details and list of WSL profiles", 'wordpress-social-login'), $user_info->display_name ) ?>.
|
76 |
+
</div>
|
77 |
+
|
78 |
+
<h3><?php _wsl_e("Wordpress user profile", 'wordpress-social-login'); ?></h3>
|
79 |
+
|
80 |
+
<table class="wp-list-table widefat">
|
81 |
+
<tr><th width="200"><label><?php _wsl_e("Wordpress User ID", 'wordpress-social-login'); ?></label></th><td><?php echo $user_info->ID; ?></td></tr>
|
82 |
+
<tr><th width="200"><label><?php _wsl_e("Username", 'wordpress-social-login'); ?></label></th><td><?php echo $user_info->user_login; ?></td></tr>
|
83 |
+
<tr><th><label><?php _wsl_e("Display name", 'wordpress-social-login'); ?></label></th><td><?php echo $user_info->display_name; ?></td></tr>
|
84 |
+
<tr><th><label><?php _wsl_e("E-mail", 'wordpress-social-login'); ?></label></th><td><a href="mailto:<?php echo $user_info->user_email; ?>" target="_blank"><?php echo $user_info->user_email; ?></a></td></tr>
|
85 |
+
<tr><th><label><?php _wsl_e("Website", 'wordpress-social-login'); ?></label></th><td><a href="<?php echo $user_info->user_url; ?>" target="_blank"><?php echo $user_info->user_url; ?></a></td></tr>
|
86 |
+
<tr><th><label><?php _wsl_e("Registered", 'wordpress-social-login'); ?></label></th><td><?php echo $user_info->user_registered; ?></td></tr>
|
87 |
+
</tr>
|
88 |
+
</table>
|
89 |
+
|
90 |
<hr />
|
91 |
+
<?php
|
92 |
foreach( $linked_accounts AS $link ){
|
93 |
+
?>
|
94 |
+
<h3><img src="<?php echo $assets_base_url . strtolower( $link->provider ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php _wsl_e("User profile", 'wordpress-social-login'); ?> <small><?php echo sprintf( _wsl__( "as provided by %s", 'wordpress-social-login'), $link->provider ); ?> </small></h3>
|
95 |
+
|
96 |
+
<table class="wp-list-table widefat">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
<?php
|
98 |
+
$profile_fields = (array) $link;
|
99 |
+
|
100 |
+
foreach( $ha_profile_fields as $item ){
|
101 |
+
$item['field'] = strtolower( $item['field'] );
|
102 |
+
?>
|
103 |
+
<tr>
|
104 |
+
<th width="200">
|
105 |
+
<label><?php echo $item['label']; ?></label>
|
106 |
+
</th>
|
107 |
+
<td>
|
108 |
+
<?php
|
109 |
+
if( isset( $profile_fields[ $item['field'] ] ) && $profile_fields[ $item['field'] ] ){
|
110 |
+
$field_value = $profile_fields[ $item['field'] ];
|
111 |
+
|
112 |
+
if( in_array( $item['field'], array( 'profileurl', 'websiteurl', 'email' ) ) ){
|
113 |
+
?>
|
114 |
+
<a href="<?php if( $item['field'] == 'email' ) echo 'mailto:'; echo $field_value; ?>" target="_blank"><?php echo $field_value; ?></a>
|
115 |
+
<?php
|
116 |
+
}
|
117 |
+
elseif( $item['field'] == 'photourl' ){
|
118 |
+
?>
|
119 |
+
<a href="<?php echo $field_value; ?>" target="_blank"><img width="36" height="36" align="left" src="<?php echo $field_value; ?>" style="margin-right: 5px;" > <?php echo $field_value; ?></a>
|
120 |
+
<?php
|
121 |
+
}
|
122 |
+
else{
|
123 |
+
echo $field_value;
|
124 |
+
}
|
125 |
+
|
126 |
+
?>
|
127 |
+
<p class="description">
|
128 |
+
<?php echo $item['description']; ?>.
|
129 |
+
</p>
|
130 |
+
<?php
|
131 |
+
}
|
132 |
+
?>
|
133 |
+
</td>
|
134 |
+
</tr>
|
135 |
+
<?php
|
136 |
+
}
|
137 |
+
?>
|
138 |
+
</table>
|
139 |
+
<?php
|
140 |
+
}
|
141 |
|
142 |
// HOOKABLE:
|
143 |
do_action( "wsl_component_users_profile_end" );
|
includes/admin/components/watchdog/index.php
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* WSL Watchdog - Log viewer.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
function wsl_component_watchdog()
|
19 |
+
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_component_watchdog_start" );
|
22 |
+
|
23 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
24 |
+
?>
|
25 |
+
<style>
|
26 |
+
.widefatop td, .widefatop th { border: 1px solid #DDDDDD; }
|
27 |
+
.widefatop th label { font-weight: bold; }
|
28 |
+
</style>
|
29 |
+
|
30 |
+
<div style="padding: 5px 20px; border: 1px solid #ddd; background-color: #fff;">
|
31 |
+
|
32 |
+
<h3><?php _wsl_e("Latest WSL activity", 'wordpress-social-login') ?></h3>
|
33 |
+
|
34 |
+
<!--
|
35 |
+
<p style="float: right;margin-top:-45px">
|
36 |
+
<a class="button button-secondary" style="background-color: #da4f49;border-color: #bd362f;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);color: #ffffff;" href="" onClick="return confirm('Are you sure?');"><?php _wsl_e("Delete WSL Log", 'wordpress-social-login'); ?></a>
|
37 |
+
</p>
|
38 |
+
-->
|
39 |
+
|
40 |
+
<hr />
|
41 |
+
|
42 |
+
<?php
|
43 |
+
global $wpdb;
|
44 |
+
|
45 |
+
$list_sessions = $wpdb->get_results( "SELECT user_ip, session_id, provider, max(id) FROM `{$wpdb->prefix}wslwatchdog` GROUP BY session_id, provider LIMIT 50" );
|
46 |
+
|
47 |
+
// have contacts?
|
48 |
+
if( ! $list_sessions ){
|
49 |
+
_wsl_e("<p>No log found!</p>", 'wordpress-social-login');
|
50 |
+
_wsl_e("<p class='description'>To log WSL authentication process in database, include '/utilities/watchdog.php' in 'wp-social-login.php'.</p>", 'wordpress-social-login');
|
51 |
+
}
|
52 |
+
else{
|
53 |
+
// echo '<pre>';
|
54 |
+
// print_r( $list_sessions );
|
55 |
+
foreach( $list_sessions as $seesion_data ){
|
56 |
+
$user_ip = $seesion_data->user_ip;
|
57 |
+
$session_id = $seesion_data->session_id;
|
58 |
+
$provider = $seesion_data->provider;
|
59 |
+
|
60 |
+
if( ! $provider ){
|
61 |
+
continue;
|
62 |
+
}
|
63 |
+
|
64 |
+
?>
|
65 |
+
<div style="padding: 15px; margin-bottom: 8px; border: 1px solid #ddd; background-color: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);">
|
66 |
+
<img src="<?php echo $assets_base_url . strtolower( $provider ) . '.png' ?>" style="vertical-align:top;width:16px;height:16px;" /> <?php echo sprintf( _wsl__("<b>%s</b> : %s - %s", 'wordpress-social-login'), $provider, $user_ip, $session_id ) ?>
|
67 |
+
</div>
|
68 |
+
<?php
|
69 |
+
|
70 |
+
$list_calls = $wpdb->get_results( "SELECT * FROM `{$wpdb->prefix}wslwatchdog` WHERE session_id = '$session_id' AND provider = '$provider' ORDER BY id ASC LIMIT 500" );
|
71 |
+
|
72 |
+
$abandon = false;
|
73 |
+
$newattempt = false;
|
74 |
+
$newsession = true;
|
75 |
+
$exectime = 0;
|
76 |
+
$oexectime = 0;
|
77 |
+
?>
|
78 |
+
<table class="wp-list-table widefat widefatop">
|
79 |
+
<tr>
|
80 |
+
<th>#</th>
|
81 |
+
<th>Action</th>
|
82 |
+
<th>Action Args</th>
|
83 |
+
<th>Time</th>
|
84 |
+
<th>Exec</th>
|
85 |
+
<th>User</th>
|
86 |
+
</tr>
|
87 |
+
<?php
|
88 |
+
foreach( $list_calls as $call_data ){
|
89 |
+
|
90 |
+
$exectime = (float) $call_data->created_at - ( $oexectime ? $oexectime : (float) $call_data->created_at );
|
91 |
+
$oexectime = (float) $call_data->created_at;
|
92 |
+
|
93 |
+
if( $abandon && 'wsl_process_login' == $call_data->action_name ){
|
94 |
+
$abandon = false;
|
95 |
+
$newattempt = true;
|
96 |
+
}
|
97 |
+
|
98 |
+
if( 'wsl_process_login' == $call_data->action_name && ! stristr( $call_data->url, 'redirect_to_provider=true' ) && ! stristr( $call_data->url, 'action=wordpress_social_authenticated' ) ){
|
99 |
+
$newattempt = true;
|
100 |
+
}
|
101 |
+
|
102 |
+
if( $abandon ){
|
103 |
+
continue;
|
104 |
+
}
|
105 |
+
|
106 |
+
if( $newattempt && ! $newsession ){
|
107 |
+
?>
|
108 |
+
</table>
|
109 |
+
<h5>New attempt</h5>
|
110 |
+
<table class="wp-list-table widefat widefatop">
|
111 |
+
<tr>
|
112 |
+
<th>#</th>
|
113 |
+
<th>Action</th>
|
114 |
+
<th>Action Args</th>
|
115 |
+
<th>Time</th>
|
116 |
+
<th>Exec</th>
|
117 |
+
<th>User</th>
|
118 |
+
</tr>
|
119 |
+
<?php
|
120 |
+
|
121 |
+
$exectime = 0;
|
122 |
+
$oexectime = 0;
|
123 |
+
}
|
124 |
+
|
125 |
+
$call_data->action_args = json_decode( $call_data->action_args );
|
126 |
+
|
127 |
+
$newattempt = false;
|
128 |
+
|
129 |
+
$action_name_uid = uniqid();
|
130 |
+
|
131 |
+
$action_desc = 'N.A.';
|
132 |
+
?>
|
133 |
+
<tr style="<?php if( 'wsl_render_login_form_user_loggedin' == $call_data->action_name || $call_data->action_name == 'wsl_hook_process_login_before_wp_set_auth_cookie' ) echo 'background-color:#edfff7;'; ?><?php if( 'wsl_process_login_complete_registration_start' == $call_data->action_name ) echo 'background-color:#fefff0;'; ?><?php if( 'wsl_process_login_render_error_page' == $call_data->action_name || $call_data->action_name == 'wsl_process_login_render_notice_page' ) echo 'background-color:#fffafa;'; ?>">
|
134 |
+
<td nowrap width="10">
|
135 |
+
<?php echo $call_data->id; ?>
|
136 |
+
</td>
|
137 |
+
<td nowrap width="350">
|
138 |
+
<span style="color:#<?php
|
139 |
+
if( 'wsl_hook_process_login_before_wp_safe_redirect' == $call_data->action_name ){
|
140 |
+
echo 'a6354b';
|
141 |
+
}
|
142 |
+
|
143 |
+
if( 'wsl_hook_process_login_before_wp_set_auth_cookie' == $call_data->action_name ){
|
144 |
+
echo '9035a6';
|
145 |
+
}
|
146 |
+
|
147 |
+
if( 'wsl_process_login_render_error_page' == $call_data->action_name ){
|
148 |
+
echo 'f50505';
|
149 |
+
|
150 |
+
$newattempt = true;
|
151 |
+
}
|
152 |
+
|
153 |
+
if( 'wsl_process_login_render_notice_page' == $call_data->action_name ){
|
154 |
+
echo 'fa1797';
|
155 |
+
|
156 |
+
$newattempt = true;
|
157 |
+
}
|
158 |
+
|
159 |
+
if( 'wsl_render_login_form_user_loggedin' == $call_data->action_name ){
|
160 |
+
echo '12b0fa';
|
161 |
+
|
162 |
+
$abandon = true;
|
163 |
+
}
|
164 |
+
?>"
|
165 |
+
><?php echo $call_data->action_name; ?></span>
|
166 |
+
</td>
|
167 |
+
<td>
|
168 |
+
<span style="float:right;"><a style="font-size:25px" href="javascript:void(0);" onClick="action_args_toggle( '<?php echo $action_name_uid; ?>' )">+</a></span>
|
169 |
+
<a href="javascript:alert('<?php echo $call_data->url; ?>');">
|
170 |
+
<small>
|
171 |
+
<?php
|
172 |
+
echo substr( $call_data->url, 0, 100 );
|
173 |
+
echo strlen( $call_data->url ) > 100 ? '...' : '';
|
174 |
+
?>
|
175 |
+
</small>
|
176 |
+
</a>
|
177 |
+
<pre style="display:none; overflow:scroll; background-color:#fcfcfc; color:#808080;font-size:11px;max-width:750px;" class="action_args_<?php echo $action_name_uid; ?>"><?php echo htmlentities( print_r( $call_data->action_args, true ) ); ?></pre>
|
178 |
+
</td>
|
179 |
+
<td nowrap width="115">
|
180 |
+
<?php echo date( "Y-m-d h:i:s", $call_data->created_at ); ?>
|
181 |
+
</td>
|
182 |
+
<td nowrap width="10" style="<?php if( $exectime > 0.5 ) echo 'color: #f44 !important;'; ?>">
|
183 |
+
<?php echo number_format( $exectime, 3, '.', '' ); ?>
|
184 |
+
</td>
|
185 |
+
<td nowrap width="40">
|
186 |
+
<?php if( $call_data->user_id ) echo '<a href="options-general.php?page=wordpress-social-login&wslp=users&uid=' . $call_data->user_id . '">#' . $call_data->user_id . '</a>'; ?>
|
187 |
+
</td>
|
188 |
+
</tr>
|
189 |
+
<?php
|
190 |
+
$newsession = false;
|
191 |
+
}
|
192 |
+
?>
|
193 |
+
</table>
|
194 |
+
<?php
|
195 |
+
echo '<br />';
|
196 |
+
}
|
197 |
+
}
|
198 |
+
?>
|
199 |
+
<script>
|
200 |
+
function action_args_toggle( action ){
|
201 |
+
jQuery('.action_args_' + action ).toggle();
|
202 |
+
|
203 |
+
return false;
|
204 |
+
}
|
205 |
+
</script>
|
206 |
+
</div>
|
207 |
+
<?php
|
208 |
+
// HOOKABLE:
|
209 |
+
do_action( "wsl_component_watchdog_end" );
|
210 |
+
}
|
211 |
+
|
212 |
+
wsl_component_watchdog();
|
213 |
+
|
214 |
+
// --------------------------------------------------------------------
|
includes/admin/wsl.admin.ui.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -35,7 +35,6 @@ function wsl_admin_init()
|
|
35 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS;
|
36 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
37 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_VERSION;
|
38 |
-
GLOBAL $wpdb;
|
39 |
|
40 |
if( isset( $_REQUEST["enable"] ) && isset( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $_REQUEST["enable"] ] ) ){
|
41 |
$component = $_REQUEST["enable"];
|
@@ -87,34 +86,9 @@ function wsl_admin_init()
|
|
87 |
|
88 |
wsl_admin_ui_error();
|
89 |
}
|
90 |
-
|
91 |
-
// HOOKABLE:
|
92 |
-
do_action( "wsl_admin_init_end" );
|
93 |
-
}
|
94 |
|
95 |
-
// --------------------------------------------------------------------
|
96 |
-
|
97 |
-
/**
|
98 |
-
* Renders an editor in a page in the typical fashion used in Posts and Pages.
|
99 |
-
*/
|
100 |
-
function wsl_render_wp_editor( $name, $content )
|
101 |
-
{
|
102 |
-
// HOOKABLE:
|
103 |
-
do_action( "wsl_render_wp_editor_start" );
|
104 |
-
?>
|
105 |
-
<div class="postbox">
|
106 |
-
<div class="wp-editor-textarea" style="background-color: #FFFFFF;">
|
107 |
-
<?php
|
108 |
-
wp_editor(
|
109 |
-
$content, $name,
|
110 |
-
array( 'textarea_name' => $name, 'media_buttons' => true, 'tinymce' => array( 'theme_advanced_buttons1' => 'formatselect,forecolor,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink' ) )
|
111 |
-
);
|
112 |
-
?>
|
113 |
-
</div>
|
114 |
-
</div>
|
115 |
-
<?php
|
116 |
// HOOKABLE:
|
117 |
-
do_action( "
|
118 |
}
|
119 |
|
120 |
// --------------------------------------------------------------------
|
@@ -220,12 +194,6 @@ a.thumbnail:hover {
|
|
220 |
.span4 {
|
221 |
width: 220px;
|
222 |
}
|
223 |
-
#wp-social-login-connect-with {
|
224 |
-
font-size: 14px;
|
225 |
-
}
|
226 |
-
#wp-social-login-connect-options {
|
227 |
-
margin:5px;
|
228 |
-
}
|
229 |
.wsl_connect_with_provider {
|
230 |
text-decoration:none;
|
231 |
cursor:not-allowed;
|
@@ -373,13 +341,17 @@ function wsl_admin_ui_footer()
|
|
373 |
?>
|
374 |
</div> <!-- ./wsl_admin_tab_content -->
|
375 |
<div class="clear"></div>
|
376 |
-
<?php
|
377 |
|
378 |
<script>
|
379 |
// check for new versions and updates
|
380 |
jQuery.getScript("http://hybridauth.sourceforge.net/wsl/wsl.version.check.and.updates.php?v=<?php echo $WORDPRESS_SOCIAL_LOGIN_VERSION ?>");
|
381 |
</script>
|
382 |
<?php
|
|
|
|
|
|
|
|
|
383 |
// HOOKABLE:
|
384 |
do_action( "wsl_admin_ui_footer_end" );
|
385 |
}
|
@@ -406,7 +378,7 @@ function wsl_admin_ui_error()
|
|
406 |
}
|
407 |
</style>
|
408 |
<div id="wsl_div_warn">
|
409 |
-
<h3 style="margin:0px;"><?php _wsl_e('
|
410 |
|
411 |
<hr />
|
412 |
|
@@ -424,8 +396,7 @@ function wsl_admin_ui_error()
|
|
424 |
<a class="button-secondary" href="http://hybridauth.sourceforge.net/wsl/support.html" target="_blank"><?php _wsl_e( "Report as bug", 'wordpress-social-login' ) ?></a>
|
425 |
<a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=components" style="float:right"><?php _wsl_e( "Check enabled components", 'wordpress-social-login' ) ?></a>
|
426 |
</div>
|
427 |
-
</div>
|
428 |
-
|
429 |
<?php
|
430 |
// HOOKABLE:
|
431 |
do_action( "wsl_admin_ui_error_end" );
|
@@ -434,7 +405,7 @@ function wsl_admin_ui_error()
|
|
434 |
// --------------------------------------------------------------------
|
435 |
|
436 |
/**
|
437 |
-
* Renders
|
438 |
*/
|
439 |
function wsl_admin_ui_fail()
|
440 |
{
|
@@ -448,32 +419,20 @@ h1 {
|
|
448 |
font-size: 2.8em;
|
449 |
font-weight: 200;
|
450 |
line-height: 1.2em;
|
451 |
-
margin: 0
|
452 |
}
|
453 |
-
hr{
|
454 |
-
border-color: #EEEEEE;
|
455 |
-
border-style: none none solid;
|
456 |
-
border-width: 0 0 1px;
|
457 |
-
margin: 2px 0 15px;
|
458 |
-
}
|
459 |
.wsldiv {
|
460 |
-
|
|
|
|
|
|
|
|
|
461 |
}
|
462 |
.wsldiv p{
|
463 |
ont-size: 14px;
|
464 |
line-height: 1.8em;
|
465 |
}
|
466 |
-
|
467 |
-
font-size:14m;
|
468 |
-
border:1px solid #E6DB55;
|
469 |
-
border-radius: 3px;
|
470 |
-
padding:5px;
|
471 |
-
width:650px;
|
472 |
-
}
|
473 |
-
ul {
|
474 |
-
list-style: disc outside none;
|
475 |
-
}
|
476 |
-
</style>
|
477 |
|
478 |
<div class="wsldiv">
|
479 |
<h1><?php _e("WordPress Social Login - FAIL!", 'wordpress-social-login') ?></h1>
|
@@ -484,48 +443,23 @@ ul {
|
|
484 |
<?php _e('Despite the efforts, the plugin <a href="http://profiles.wordpress.org/miled/" target="_blank">author</a> and other <a href="https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors" target="_blank">contributors</a>, put into <b>WordPress Social Login</b> in terms of reliability, portability, <br />and maintenance', 'wordpress-social-login') ?>.
|
485 |
<b style="color:red;"><?php _e('Your server failed the requirements check for this plugin!', 'wordpress-social-login') ?></b>
|
486 |
</p>
|
|
|
487 |
<p>
|
488 |
<?php _e('These requirements are usually met by default by most "modern" web hosting providers, however some complications may <br />occur with <b>shared hosting</b> and, or <b>custom wordpress installations</b>', 'wordpress-social-login') ?>.
|
489 |
</p>
|
|
|
490 |
<p>
|
491 |
-
<?php _e("To determine what may cause this failure, run the <b>WordPress Social Login Requirements Test</b> by clicking the button bellow", 'wordpress-social-login')
|
492 |
|
493 |
<br />
|
494 |
<br />
|
495 |
-
|
496 |
-
<a class="button-primary" href=
|
|
|
|
|
497 |
</p>
|
498 |
-
|
499 |
-
<br />
|
500 |
-
<hr />
|
501 |
-
|
502 |
-
<p>
|
503 |
-
<?php _e("<b>WordPress Social Login</b> is an open source software licenced under The MIT License (MIT)", 'wordpress-social-login') ?>
|
504 |
-
</p>
|
505 |
|
506 |
-
<pre class="wslpre">
|
507 |
-
Copyright (C) 2011-2013 Mohamed Mrassi and contributors
|
508 |
-
|
509 |
-
Permission is hereby granted, free of charge, to any person obtaining
|
510 |
-
a copy of this software and associated documentation files (the
|
511 |
-
"Software"), to deal in the Software without restriction, including
|
512 |
-
without limitation the rights to use, copy, modify, merge, publish,
|
513 |
-
distribute, sublicense, and/or sell copies of the Software, and to
|
514 |
-
permit persons to whom the Software is furnished to do so, subject to
|
515 |
-
the following conditions:
|
516 |
-
|
517 |
-
The above copyright notice and this permission notice shall be
|
518 |
-
included in all copies or substantial portions of the Software.
|
519 |
-
|
520 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
521 |
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
522 |
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
523 |
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
524 |
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
525 |
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
526 |
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
527 |
-
</pre>
|
528 |
-
<br />
|
529 |
<script>
|
530 |
jQuery.getScript("http://hybridauth.sourceforge.net/wsl/wsl.version.check.and.updates.php?v=<?php echo $WORDPRESS_SOCIAL_LOGIN_VERSION ?>&fail=true");
|
531 |
</script>
|
@@ -544,18 +478,24 @@ function wsl_admin_welcome_panel()
|
|
544 |
if( isset( $_REQUEST["wsldwp"] ) && (int) $_REQUEST["wsldwp"] ){
|
545 |
$wsldwp = (int) $_REQUEST["wsldwp"];
|
546 |
|
547 |
-
update_option( "wsl_settings_welcome_panel_enabled",
|
548 |
|
549 |
return;
|
550 |
}
|
551 |
|
552 |
// if new user or wsl updated, then we display wsl welcome panel
|
553 |
-
if( get_option( 'wsl_settings_welcome_panel_enabled' ) ==
|
554 |
return;
|
555 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
556 |
?>
|
557 |
<!--
|
558 |
-
if you want to know if a UI was made by
|
559 |
|
560 |
//> wsl-w-panel is shamelessly borrowered and modified from wordpress welcome-panel
|
561 |
-->
|
@@ -578,22 +518,28 @@ function wsl_admin_welcome_panel()
|
|
578 |
<b><?php _wsl_e("Get Started", 'wordpress-social-login') ?></b>
|
579 |
</p>
|
580 |
<ul style="margin-left:25px;">
|
581 |
-
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/
|
582 |
-
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/
|
583 |
-
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/
|
584 |
-
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/
|
|
|
|
|
|
|
585 |
</ul>
|
586 |
</td>
|
587 |
<td width="" valign="top">
|
588 |
<br />
|
589 |
<p>
|
590 |
-
<b><?php echo sprintf( _wsl__( "What's new on WSL %s", 'wordpress-social-login'),
|
591 |
</p>
|
|
|
592 |
<ul style="margin-left:25px;">
|
593 |
-
<li><?php _wsl_e('
|
594 |
-
<li><?php _wsl_e('
|
595 |
-
<li><?php _wsl_e('
|
596 |
-
<li><?php _wsl_e('
|
|
|
|
|
597 |
</ul>
|
598 |
</td>
|
599 |
</tr>
|
@@ -610,166 +556,75 @@ function wsl_admin_welcome_panel()
|
|
610 |
// --------------------------------------------------------------------
|
611 |
|
612 |
/**
|
613 |
-
* Renders wsl localization
|
614 |
*/
|
615 |
-
function
|
616 |
{
|
617 |
-
|
618 |
|
619 |
-
|
620 |
-
$assets_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL;
|
621 |
-
|
622 |
-
// overwrite endpoint_url if need'd
|
623 |
-
if( get_option( 'wsl_settings_base_url' ) ){
|
624 |
-
$assets_url = strtolower( get_option( 'wsl_settings_base_url' ) );
|
625 |
-
}
|
626 |
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
?>
|
637 |
-
<form action="http://hybridauth.sourceforge.net/wsl/i18n.contributions.php" method="post" target="_blank">
|
638 |
-
<input type="hidden" name="wsl_i18n_site_url" value="<?php bloginfo('url'); ?>" />
|
639 |
-
<input type="hidden" name="wsl_i18n_site_charset" value="<?php bloginfo('charset'); ?>" />
|
640 |
-
<input type="hidden" name="wsl_i18n_site_language" value="<?php bloginfo('language'); ?>" />
|
641 |
-
<input type="hidden" name="wsl_i18n_current_page" value="<?php echo $wslp ?>" />
|
642 |
-
|
643 |
-
<input type="hidden" name="wsl_version" value="<?php echo wsl_version() ?>" />
|
644 |
-
|
645 |
-
<div id="wsl_i18n_cla">
|
646 |
-
<h3 style="margin:0px;"><?php _wsl_e( "Contributor License Agreement", 'wordpress-social-login' ) ?></h3>
|
647 |
-
|
648 |
-
<hr />
|
649 |
-
|
650 |
-
<p>
|
651 |
-
<?php _wsl_e( "You are about to submit your contributions to the WordPress Social Login Website to be reviewed for inclusion in future versions", 'wordpress-social-login' ) ?>.
|
652 |
-
|
653 |
-
<?php _wsl_e( "You hereby grant the permission to publish your contribution, in whole or in part, and to made it available under the <b>MIT License</b>, for the <b>Wordpress community</b> to, freely use or misuse", 'wordpress-social-login' ) ?>.
|
654 |
-
</p>
|
655 |
-
|
656 |
-
<hr />
|
657 |
-
|
658 |
-
<div>
|
659 |
-
<a class="button-secondary" href="admin.php?page=wordpress-social-login"><?php _wsl_e( "Hell No", 'wordpress-social-login' ) ?></a>
|
660 |
-
<input style="float:right" type="submit" value="<?php _wsl_e( "Yes, I agree to contribute my translation", 'wordpress-social-login' ) ?>" class="button-primary" onClick="wsl_i18n_done()" >
|
661 |
-
</div>
|
662 |
-
</div>
|
663 |
-
<div id="wsl_i18n_form">
|
664 |
-
<h3 style="margin:0px;"><?php _wsl_e( "Help us translate this page into your language", 'wordpress-social-login' ) ?></h3>
|
665 |
-
|
666 |
-
<hr />
|
667 |
-
|
668 |
-
<p><?php _wsl_e( "You can <b>translate as much you please as much as you want</b>. You don't have to translate everything in this page. Ignore any string you want or aleardy translated. You could also use this tool to fix any typo you may find or to improve the current language expressions", 'wordpress-social-login' ) ?>.</p>
|
669 |
|
670 |
-
|
671 |
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
<tr>
|
692 |
-
<td align="right"><strong><?php _wsl_e( "Comment", 'wordpress-social-login' ) ?></strong><br />(<?php _wsl_e( "optional", 'wordpress-social-login' ) ?>)</td>
|
693 |
-
<td>
|
694 |
-
<textarea name="wsl_i18n_comment" style="width:400px;height:60px;"></textarea>
|
695 |
-
</td>
|
696 |
-
</tr>
|
697 |
-
</tbody>
|
698 |
-
</table>
|
699 |
-
<hr />
|
700 |
-
<div style="float:right">
|
701 |
-
<a class="button-primary" href="javascript:void(0);" onClick="wsl_i18n_cla()"><?php _wsl_e( "Submit changes", 'wordpress-social-login' ) ?></a>
|
702 |
-
</div>
|
703 |
</div>
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
jQuery("#wsl_i18n").hide()
|
709 |
-
jQuery("#wsl_i18n_cla").show()
|
710 |
-
}
|
711 |
-
|
712 |
-
function wsl_i18n_done(){
|
713 |
-
jQuery("#wsl_i18n_form").hide()
|
714 |
-
jQuery("#wsl_i18n").hide()
|
715 |
-
jQuery("#wsl_i18n_cla").hide()
|
716 |
-
|
717 |
-
jQuery("#wsl_admin_tab_content").show()
|
718 |
-
jQuery("#l10n-footer").show()
|
719 |
-
}
|
720 |
-
|
721 |
-
function wsl_i18n(){
|
722 |
-
if(typeof jQuery=="undefined"){
|
723 |
-
alert( "Error: WordPress Social Login require jQuery to be installed on your wordpress in order to works!" )
|
724 |
-
|
725 |
-
return
|
726 |
-
}
|
727 |
-
|
728 |
-
jQuery("#wsl_admin_tab_content").hide()
|
729 |
-
jQuery("#l10n-footer").hide()
|
730 |
-
jQuery("#wsl_i18n_form").show()
|
731 |
-
jQuery("#wsl_i18n").show()
|
732 |
-
jQuery("#wsl_i18n_cla").hide()
|
733 |
-
|
734 |
-
var __wsl_texts = <?php echo json_encode ( array_keys( $WORDPRESS_SOCIAL_LOGIN_TEXTS ) ); ?>
|
735 |
-
|
736 |
-
jQuery.each( __wsl_texts, function(index, string) {
|
737 |
-
if( string.length >= 2 ){
|
738 |
-
if( string.length >= 100 ) jQuery("#wsl_i18n_pre").append( index + ".\n" + '<textarea id="wsl_i18n_target_'+ index +'" class="wsl_i18n_input" style="width:98%;height:60px;" name="wsl_i18n_target_'+ index +'">' + string + '</textarea>' + "\n" )
|
739 |
-
if( string.length < 100 ) jQuery("#wsl_i18n_pre").append( index + ".\n" + '<input id="wsl_i18n_target_'+ index +'" class="wsl_i18n_input inputgnrc" type="text" style="width:98%;" name="wsl_i18n_target_'+ index +'" value="' + string + '" >' + "\n" )
|
740 |
|
741 |
-
|
742 |
-
}
|
743 |
|
744 |
-
|
745 |
-
|
|
|
|
|
|
|
|
|
746 |
|
747 |
-
|
748 |
-
|
749 |
-
}
|
750 |
|
751 |
-
|
752 |
-
jQuery(this).css( "border-color", "#DFDFDF" )
|
753 |
-
}
|
754 |
|
755 |
-
|
756 |
-
jQuery(this).css( "border-color", "#B94A48" )
|
757 |
-
}
|
758 |
-
})
|
759 |
-
})
|
760 |
-
}
|
761 |
-
</script>
|
762 |
-
<div id="l10n-footer" style="float: left; display: block; ">
|
763 |
-
<br style="clear:both;" />
|
764 |
-
<hr />
|
765 |
-
<img src="<?php echo $assets_url ?>flags.png">
|
766 |
-
<a href="#wsltop" onclick="return wsl_i18n();">
|
767 |
-
<?php _wsl_e( "Help us translate this page into your language", 'wordpress-social-login' ) ?>
|
768 |
-
</a>
|
769 |
-
</div>
|
770 |
-
<?php
|
771 |
|
772 |
-
|
|
|
|
|
|
|
|
|
|
|
773 |
}
|
|
|
|
|
774 |
|
775 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
35 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS;
|
36 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
37 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_VERSION;
|
|
|
38 |
|
39 |
if( isset( $_REQUEST["enable"] ) && isset( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $_REQUEST["enable"] ] ) ){
|
40 |
$component = $_REQUEST["enable"];
|
86 |
|
87 |
wsl_admin_ui_error();
|
88 |
}
|
|
|
|
|
|
|
|
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
// HOOKABLE:
|
91 |
+
do_action( "wsl_admin_init_end" );
|
92 |
}
|
93 |
|
94 |
// --------------------------------------------------------------------
|
194 |
.span4 {
|
195 |
width: 220px;
|
196 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
.wsl_connect_with_provider {
|
198 |
text-decoration:none;
|
199 |
cursor:not-allowed;
|
341 |
?>
|
342 |
</div> <!-- ./wsl_admin_tab_content -->
|
343 |
<div class="clear"></div>
|
344 |
+
<?php wsl_admin_help_us_localize_note(); ?>
|
345 |
|
346 |
<script>
|
347 |
// check for new versions and updates
|
348 |
jQuery.getScript("http://hybridauth.sourceforge.net/wsl/wsl.version.check.and.updates.php?v=<?php echo $WORDPRESS_SOCIAL_LOGIN_VERSION ?>");
|
349 |
</script>
|
350 |
<?php
|
351 |
+
if( get_option( 'wsl_settings_development_mode_enabled' ) ){
|
352 |
+
wsl_display_dev_mode_debugging_area();
|
353 |
+
}
|
354 |
+
|
355 |
// HOOKABLE:
|
356 |
do_action( "wsl_admin_ui_footer_end" );
|
357 |
}
|
378 |
}
|
379 |
</style>
|
380 |
<div id="wsl_div_warn">
|
381 |
+
<h3 style="margin:0px;"><?php _wsl_e('Oops! We ran into an issue.', 'wordpress-social-login') ?></h3>
|
382 |
|
383 |
<hr />
|
384 |
|
396 |
<a class="button-secondary" href="http://hybridauth.sourceforge.net/wsl/support.html" target="_blank"><?php _wsl_e( "Report as bug", 'wordpress-social-login' ) ?></a>
|
397 |
<a class="button-primary" href="options-general.php?page=wordpress-social-login&wslp=components" style="float:right"><?php _wsl_e( "Check enabled components", 'wordpress-social-login' ) ?></a>
|
398 |
</div>
|
399 |
+
</div>
|
|
|
400 |
<?php
|
401 |
// HOOKABLE:
|
402 |
do_action( "wsl_admin_ui_error_end" );
|
405 |
// --------------------------------------------------------------------
|
406 |
|
407 |
/**
|
408 |
+
* Renders WSL #FAIL page
|
409 |
*/
|
410 |
function wsl_admin_ui_fail()
|
411 |
{
|
419 |
font-size: 2.8em;
|
420 |
font-weight: 200;
|
421 |
line-height: 1.2em;
|
422 |
+
margin: 0;
|
423 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
.wsldiv {
|
425 |
+
background-color: #fff;
|
426 |
+
border: 1px solid #ddd;
|
427 |
+
margin: 20px;
|
428 |
+
padding: 20px;
|
429 |
+
width: 770px;
|
430 |
}
|
431 |
.wsldiv p{
|
432 |
ont-size: 14px;
|
433 |
line-height: 1.8em;
|
434 |
}
|
435 |
+
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
|
437 |
<div class="wsldiv">
|
438 |
<h1><?php _e("WordPress Social Login - FAIL!", 'wordpress-social-login') ?></h1>
|
443 |
<?php _e('Despite the efforts, the plugin <a href="http://profiles.wordpress.org/miled/" target="_blank">author</a> and other <a href="https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors" target="_blank">contributors</a>, put into <b>WordPress Social Login</b> in terms of reliability, portability, <br />and maintenance', 'wordpress-social-login') ?>.
|
444 |
<b style="color:red;"><?php _e('Your server failed the requirements check for this plugin!', 'wordpress-social-login') ?></b>
|
445 |
</p>
|
446 |
+
|
447 |
<p>
|
448 |
<?php _e('These requirements are usually met by default by most "modern" web hosting providers, however some complications may <br />occur with <b>shared hosting</b> and, or <b>custom wordpress installations</b>', 'wordpress-social-login') ?>.
|
449 |
</p>
|
450 |
+
|
451 |
<p>
|
452 |
+
<?php _e("To determine what may cause this failure, run the <b>WordPress Social Login Requirements Test</b> by clicking the button bellow", 'wordpress-social-login') ?>.
|
453 |
|
454 |
<br />
|
455 |
<br />
|
456 |
+
|
457 |
+
<a class="button-primary" href="<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/utilities/diagnostics.php" target="_blank"><?php _e("Run the plugin requirements test", 'wordpress-social-login') ?></a>
|
458 |
+
<a class="button-primary" href="<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL ?>/utilities/siteinfo.php" target="_blank"><?php _e("System Information", 'wordpress-social-login') ?></a>
|
459 |
+
<a class="button" href="http://hybridauth.sourceforge.net/wsl/faq.html" target="_blank"><?php _e("Read WSL FAQ", 'wordpress-social-login') ?></a>
|
460 |
</p>
|
461 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
<script>
|
464 |
jQuery.getScript("http://hybridauth.sourceforge.net/wsl/wsl.version.check.and.updates.php?v=<?php echo $WORDPRESS_SOCIAL_LOGIN_VERSION ?>&fail=true");
|
465 |
</script>
|
478 |
if( isset( $_REQUEST["wsldwp"] ) && (int) $_REQUEST["wsldwp"] ){
|
479 |
$wsldwp = (int) $_REQUEST["wsldwp"];
|
480 |
|
481 |
+
update_option( "wsl_settings_welcome_panel_enabled", wsl_get_version() );
|
482 |
|
483 |
return;
|
484 |
}
|
485 |
|
486 |
// if new user or wsl updated, then we display wsl welcome panel
|
487 |
+
if( get_option( 'wsl_settings_welcome_panel_enabled' ) == wsl_get_version() ){
|
488 |
return;
|
489 |
}
|
490 |
+
|
491 |
+
$wslp = "networks";
|
492 |
+
|
493 |
+
if( isset( $_REQUEST["wslp"] ) ){
|
494 |
+
$wslp = $_REQUEST["wslp"];
|
495 |
+
}
|
496 |
?>
|
497 |
<!--
|
498 |
+
if you want to know if a UI was made by developer, then here is a tip: he will always use tables
|
499 |
|
500 |
//> wsl-w-panel is shamelessly borrowered and modified from wordpress welcome-panel
|
501 |
-->
|
518 |
<b><?php _wsl_e("Get Started", 'wordpress-social-login') ?></b>
|
519 |
</p>
|
520 |
<ul style="margin-left:25px;">
|
521 |
+
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/overview.html?" target="_blank">Plugin Overview</a>', 'wordpress-social-login') ?></li>
|
522 |
+
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/configure.html?" target="_blank">Setup and Configuration</a>', 'wordpress-social-login') ?></li>
|
523 |
+
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/customize.html?" target="_blank">Customize WSL Widgets</a>', 'wordpress-social-login') ?></li>
|
524 |
+
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/userdata.html?" target="_blank">Manage users and contacts</a>', 'wordpress-social-login') ?></li>
|
525 |
+
<!--
|
526 |
+
<li><?php _wsl_e('<a href="http://hybridauth.sourceforge.net/wsl/index.html?" target="_blank">WSL User Guide</a> and <a href="http://hybridauth.sourceforge.net/wsl/faq.html?" target="_blank">FAQ</a>', 'wordpress-social-login') ?></li>
|
527 |
+
-->
|
528 |
</ul>
|
529 |
</td>
|
530 |
<td width="" valign="top">
|
531 |
<br />
|
532 |
<p>
|
533 |
+
<b><?php echo sprintf( _wsl__( "What's new on WSL %s", 'wordpress-social-login'), wsl_get_version() ) ?></b>
|
534 |
</p>
|
535 |
+
|
536 |
<ul style="margin-left:25px;">
|
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>
|
544 |
</td>
|
545 |
</tr>
|
556 |
// --------------------------------------------------------------------
|
557 |
|
558 |
/**
|
559 |
+
* Renders wsl localization note
|
560 |
*/
|
561 |
+
function wsl_admin_help_us_localize_note()
|
562 |
{
|
563 |
+
return; // nothing, until I decide otherwise..
|
564 |
|
565 |
+
$assets_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
|
567 |
+
?>
|
568 |
+
<div id="l10n-footer" style="float: left; display: block; ">
|
569 |
+
<br style="clear:both;" />
|
570 |
+
<hr />
|
571 |
+
<img src="<?php echo $assets_url ?>flags.png">
|
572 |
+
<a href="options-general.php?page=wordpress-social-login&wslp=help&wslhelp=translate"><?php _wsl_e( "Help us translate WordPress Social Login into your language", 'wordpress-social-login' ) ?></a>
|
573 |
+
</div>
|
574 |
+
<?php
|
575 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
|
577 |
+
// --------------------------------------------------------------------
|
578 |
|
579 |
+
/**
|
580 |
+
* Renders an editor in a page in the typical fashion used in Posts and Pages.
|
581 |
+
*
|
582 |
+
* Utility.
|
583 |
+
*/
|
584 |
+
function wsl_render_wp_editor( $name, $content )
|
585 |
+
{
|
586 |
+
// HOOKABLE:
|
587 |
+
do_action( "wsl_render_wp_editor_start" );
|
588 |
+
?>
|
589 |
+
<div class="postbox">
|
590 |
+
<div class="wp-editor-textarea" style="background-color: #FFFFFF;">
|
591 |
+
<?php
|
592 |
+
wp_editor(
|
593 |
+
$content, $name,
|
594 |
+
array( 'textarea_name' => $name, 'media_buttons' => true, 'tinymce' => array( 'theme_advanced_buttons1' => 'formatselect,forecolor,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink' ) )
|
595 |
+
);
|
596 |
+
?>
|
597 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
598 |
</div>
|
599 |
+
<?php
|
600 |
+
// HOOKABLE:
|
601 |
+
do_action( "wsl_render_wp_editor_end" );
|
602 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
|
604 |
+
// --------------------------------------------------------------------
|
|
|
605 |
|
606 |
+
/**
|
607 |
+
* Display WordPress Social Login on settings as submenu
|
608 |
+
*/
|
609 |
+
function wsl_admin_menu()
|
610 |
+
{
|
611 |
+
add_options_page('WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' );
|
612 |
|
613 |
+
add_action( 'admin_init', 'wsl_register_setting' );
|
614 |
+
}
|
|
|
615 |
|
616 |
+
add_action('admin_menu', 'wsl_admin_menu' );
|
|
|
|
|
617 |
|
618 |
+
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
|
620 |
+
/**
|
621 |
+
* Display WordPress Social Login on sidebar
|
622 |
+
*/
|
623 |
+
function wsl_admin_menu_sidebar()
|
624 |
+
{
|
625 |
+
add_menu_page( 'WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' );
|
626 |
}
|
627 |
+
|
628 |
+
add_action('admin_menu', 'wsl_admin_menu_sidebar');
|
629 |
|
630 |
// --------------------------------------------------------------------
|
includes/services/wsl.authentication.php
CHANGED
@@ -3,25 +3,49 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
-
*
|
11 |
*
|
12 |
-
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
-
*
|
15 |
-
*
|
16 |
-
*
|
17 |
-
*
|
18 |
-
*
|
19 |
-
*
|
|
|
|
|
|
|
|
|
|
|
20 |
*
|
21 |
-
*
|
22 |
-
*
|
23 |
-
*
|
24 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
*/
|
26 |
|
27 |
// Exit if accessed directly
|
@@ -29,731 +53,461 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
29 |
|
30 |
// --------------------------------------------------------------------
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
function wsl_process_login()
|
33 |
{
|
34 |
-
|
35 |
-
|
36 |
-
}
|
37 |
|
38 |
-
if( $
|
39 |
-
wsl_process_login_auth();
|
40 |
-
}
|
41 |
-
else{
|
42 |
-
wsl_process_login_reauth();
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
add_action( 'init', 'wsl_process_login' );
|
47 |
-
|
48 |
-
// --------------------------------------------------------------------
|
49 |
-
|
50 |
-
function wsl_process_login_checks()
|
51 |
-
{
|
52 |
-
if( ! isset( $_REQUEST[ 'action' ] ) ){
|
53 |
return false;
|
54 |
}
|
55 |
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
|
60 |
-
|
61 |
-
if( $_REQUEST[ 'action' ] == "wordpress_social_link" && ! is_user_logged_in() ){
|
62 |
-
wsl_render_notices_pages( _wsl__("Bouncer say don't be silly!", 'wordpress-social-login') );
|
63 |
|
64 |
-
return
|
65 |
}
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
return false;
|
71 |
}
|
72 |
|
73 |
-
//
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
78 |
}
|
79 |
|
80 |
-
|
|
|
|
|
81 |
}
|
82 |
|
|
|
|
|
83 |
// --------------------------------------------------------------------
|
84 |
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
{
|
87 |
-
|
|
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
|
94 |
-
|
95 |
-
// and redirect_to_provider eq ture
|
96 |
-
if( ! ( isset( $_REQUEST["provider"] ) && isset( $_REQUEST["redirect_to_provider"] ) ) ){
|
97 |
-
wsl_render_notices_pages( _wsl__("Bouncer says this makes no sense.", 'wordpress-social-login') );
|
98 |
|
99 |
-
|
100 |
-
|
|
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
if( get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) != 1 && isset( $_REQUEST["link"] ) ){
|
105 |
-
wp_die( _wsl__("Bouncer say you are doin it wrong.", 'wordpress-social-login') );
|
106 |
-
}
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
|
|
111 |
|
112 |
-
|
113 |
-
}
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
return wsl_render_notices_pages( _wsl__("Error: Another plugin seems to be using HybridAuth Library and made WordPress Social Login unusable. We recommand to find this plugin and to kill it with fire!", 'wordpress-social-login') );
|
118 |
-
}
|
119 |
|
120 |
-
|
121 |
-
|
|
|
|
|
122 |
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
// default endpoint_url/callback_url
|
132 |
-
$endpoint_url = WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL;
|
133 |
-
$callback_url = null; // autogenerated by hybridauth
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
}
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
$config["providers"] =
|
149 |
-
$config["providers"][$provider] =
|
150 |
-
$config["providers"][$provider]["
|
151 |
|
152 |
-
//
|
153 |
-
if( get_option( '
|
154 |
-
$config["providers"][$provider]["
|
155 |
}
|
|
|
156 |
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
|
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
166 |
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
}
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
}
|
177 |
|
178 |
-
|
179 |
-
if( get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ){
|
180 |
-
$config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website, read_friendlists";
|
181 |
-
}
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
|
|
186 |
|
187 |
-
|
|
|
|
|
|
|
|
|
188 |
$hybridauth = new Hybrid_Auth( $config );
|
189 |
|
190 |
-
//
|
191 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
|
198 |
-
|
|
|
199 |
|
200 |
-
|
201 |
-
if( get_option( 'wsl_settings_development_mode_enabled' ) ){
|
202 |
-
$profile = $adapter->getUserProfile( $provider );
|
203 |
-
}
|
204 |
|
205 |
-
|
206 |
-
|
207 |
-
<html><head><script>
|
208 |
-
function init() {
|
209 |
-
window.opener.wsl_wordpress_social_login({
|
210 |
-
'action' : 'wordpress_social_login',
|
211 |
-
'provider' : '<?php echo $provider ?>'
|
212 |
-
});
|
213 |
-
|
214 |
-
window.close()
|
215 |
-
}
|
216 |
-
</script></head><body onload="init();"></body></html>
|
217 |
-
<?php
|
218 |
-
}
|
219 |
-
elseif( get_option( 'wsl_settings_use_popup' ) == 2 ){
|
220 |
-
$redirect_to = site_url();
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
<html><head><script>
|
227 |
-
function init() { document.loginform.submit() }
|
228 |
-
</script></head><body onload="init();">
|
229 |
-
<form name="loginform" method="post" action="<?php echo site_url( 'wp-login.php', 'login_post' ); ?>">
|
230 |
-
<input type="hidden" id="redirect_to" name="redirect_to" value="<?php echo $redirect_to ?>">
|
231 |
-
<input type="hidden" id="provider" name="provider" value="<?php echo $provider ?>">
|
232 |
-
<?php
|
233 |
-
if( isset( $_REQUEST["link"] ) && (int) $_REQUEST["link"] ){
|
234 |
-
?>
|
235 |
-
<input type="hidden" id="action" name="action" value="wordpress_social_link">
|
236 |
-
<?php
|
237 |
-
} else {
|
238 |
-
?>
|
239 |
-
<input type="hidden" id="action" name="action" value="wordpress_social_login">
|
240 |
-
<?php
|
241 |
-
}
|
242 |
-
?>
|
243 |
-
</form></body></html>
|
244 |
-
<?php
|
245 |
-
}
|
246 |
-
}
|
247 |
-
catch( Exception $e ){
|
248 |
-
wsl_process_login_render_error_page( $e, $config, $hybridauth, $adapter, $profile );
|
249 |
-
}
|
250 |
|
251 |
-
|
|
|
252 |
}
|
253 |
|
254 |
// --------------------------------------------------------------------
|
255 |
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
{
|
258 |
-
|
|
|
259 |
|
260 |
-
|
261 |
-
$
|
262 |
|
263 |
-
|
264 |
-
|
265 |
-
case 1 : $message = _wsl__("Hybriauth configuration error.", 'wordpress-social-login'); break;
|
266 |
-
case 2 : $message = _wsl__("Provider not properly configured.", 'wordpress-social-login'); break;
|
267 |
-
case 3 : $message = _wsl__("Unknown or disabled provider.", 'wordpress-social-login'); break;
|
268 |
-
case 4 : $message = _wsl__("Missing provider application credentials.", 'wordpress-social-login');
|
269 |
-
$hint = sprintf( _wsl__("<b>What does this error mean ?</b><br />Most likely, you didn't setup the correct application credentials for this provider. These credentials are required in order for <b>%s</b> users to access your website and for WordPress Social Login to work.", 'wordpress-social-login'), $provider ) . _wsl__('<br />Instructions for use can be found in the <a href="http://hybridauth.sourceforge.net/wsl/configure.html" target="_blank">User Manual</a>.', 'wordpress-social-login');
|
270 |
-
break;
|
271 |
-
case 5 : $message = _wsl__("Authentification failed. The user has canceled the authentication or the provider refused the connection.", 'wordpress-social-login'); break;
|
272 |
-
case 6 : $message = _wsl__("User profile request failed. Most likely the user is not connected to the provider and he should to authenticate again.", 'wordpress-social-login');
|
273 |
-
if( is_object( $adapter ) ) $adapter->logout();
|
274 |
-
break;
|
275 |
-
case 7 : $message = _wsl__("User not connected to the provider.", 'wordpress-social-login');
|
276 |
-
if( is_object( $adapter ) ) $adapter->logout();
|
277 |
-
break;
|
278 |
-
case 8 : $message = _wsl__("Provider does not support this feature.", 'wordpress-social-login'); break;
|
279 |
|
280 |
-
|
281 |
-
|
282 |
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
border: 0;
|
294 |
-
border-bottom: 1px solid #ccc;
|
295 |
-
padding: 50px;
|
296 |
-
}
|
297 |
-
html {
|
298 |
-
background: #f9f9f9;
|
299 |
-
}
|
300 |
-
#wsl {
|
301 |
-
background: #fff;
|
302 |
-
color: #333;
|
303 |
-
font-family: sans-serif;
|
304 |
-
margin: 2em auto;
|
305 |
-
padding: 1em 2em;
|
306 |
-
-webkit-border-radius: 3px;
|
307 |
-
border-radius: 3px;
|
308 |
-
border: 1px solid #dfdfdf;
|
309 |
-
max-width: 700px;
|
310 |
-
font-size: 14px;
|
311 |
-
}
|
312 |
-
</style>
|
313 |
-
<head>
|
314 |
-
<body>
|
315 |
-
<div id="wsl">
|
316 |
-
<table width="100%" border="0">
|
317 |
-
<tr>
|
318 |
-
<td align="center"><br /><img src="<?php echo $assets_base_url ?>alert.png" /></td>
|
319 |
-
</tr>
|
320 |
-
<tr>
|
321 |
-
<td align="center"><br /><h4><?php _wsl_e("Something bad happen!", 'wordpress-social-login') ?></h4><br /></td>
|
322 |
-
</tr>
|
323 |
-
<tr>
|
324 |
-
<td align="center">
|
325 |
-
<p style="line-height: 20px;padding: 8px;background-color: #FFEBE8;border:1px solid #CC0000;border-radius: 3px;padding: 10px;text-align:center;">
|
326 |
-
<?php echo $message ; ?>
|
327 |
-
</p>
|
328 |
-
</td>
|
329 |
-
</tr>
|
330 |
-
|
331 |
-
<?php if( $hint ) { ?>
|
332 |
-
<tr>
|
333 |
-
<td align="center">
|
334 |
-
<p style="line-height: 25px;padding: 8px;border-top:1px solid #ccc;padding: 10px;text-align:left;">
|
335 |
-
<?php echo $hint ; ?>
|
336 |
-
</p>
|
337 |
-
</td>
|
338 |
-
</tr>
|
339 |
-
<?php } ?>
|
340 |
-
|
341 |
-
<?php
|
342 |
-
// Development mode on?
|
343 |
-
if( get_option( 'wsl_settings_development_mode_enabled' ) ){
|
344 |
-
wsl_process_login_render_debug_section( $e, $config, $hybridauth, $adapter, $profile );
|
345 |
-
}
|
346 |
-
?>
|
347 |
-
</table>
|
348 |
-
</div>
|
349 |
-
</body>
|
350 |
-
</html>
|
351 |
-
<?php
|
352 |
-
die();
|
353 |
-
}
|
354 |
-
|
355 |
-
// --------------------------------------------------------------------
|
356 |
-
|
357 |
-
function wsl_process_login_render_debug_section( $e, $config, $hybridauth, $adapter, $profile )
|
358 |
-
{
|
359 |
-
?>
|
360 |
-
<tr>
|
361 |
-
<td align="center">
|
362 |
-
<div style="padding: 5px;margin: 5px;background: none repeat scroll 0 0 #F5F5F5;border-radius:3px;">
|
363 |
-
<div id="bug_report">
|
364 |
-
<form method="post" action="http://hybridauth.sourceforge.net/reports/index.php?product=wp-plugin&v=<?php echo $_SESSION["wsl::plugin"] ?>">
|
365 |
-
<table width="90%" border="0">
|
366 |
-
<tr>
|
367 |
-
<td align="left" valign="top">
|
368 |
-
<h3>Expection</h3>
|
369 |
-
<pre style="width:800px;"><?php print_r( $e ) ?></pre>
|
370 |
-
|
371 |
-
<hr />
|
372 |
-
|
373 |
-
<h3>HybridAuth</h3>
|
374 |
-
<pre style="width:800px;"><?php print_r( array( $config, $hybridauth, $adapter, $profile ) ) ?></pre>
|
375 |
-
</td>
|
376 |
-
</tr>
|
377 |
-
<tr>
|
378 |
-
<td align="center" valign="top">
|
379 |
-
<input type="submit" style="width: 300px;height: 33px;" value="Send the error report to the developer" />
|
380 |
-
</td>
|
381 |
-
</tr>
|
382 |
-
</table>
|
383 |
-
|
384 |
-
<textarea name="report" style="display:none;"><?php echo base64_encode( print_r( array( $e, $config, $hybridauth, $adapter, $profile, $_SERVER ), TRUE ) ) ?></textarea>
|
385 |
-
</form>
|
386 |
-
<small>
|
387 |
-
<?php _wsl_e("Note: This message can be disabled from the plugin settings by setting <b>Development mode</b> to <b>Disabled</b>", 'wordpress-social-login') ?>.
|
388 |
-
</small>
|
389 |
-
</div>
|
390 |
-
</div>
|
391 |
-
</td>
|
392 |
-
</tr>
|
393 |
-
<?php
|
394 |
-
}
|
395 |
|
396 |
-
//
|
|
|
|
|
397 |
|
398 |
-
|
399 |
-
|
400 |
-
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
401 |
|
402 |
-
//
|
403 |
-
$
|
404 |
|
405 |
-
|
406 |
-
|
407 |
-
}
|
408 |
-
else{
|
409 |
-
$_SESSION["HA::STORE"] = ARRAY();
|
410 |
-
}
|
411 |
-
?>
|
412 |
-
<!DOCTYPE html>
|
413 |
-
<head>
|
414 |
-
<meta name="robots" content="NOINDEX, NOFOLLOW">
|
415 |
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
416 |
-
<title><?php _wsl_e("Redirecting...", 'wordpress-social-login') ?></title>
|
417 |
-
<head>
|
418 |
-
<script>
|
419 |
-
function init(){
|
420 |
-
setTimeout( function(){window.location.href = window.location.href + "&redirect_to_provider=true"}, 750 );
|
421 |
-
}
|
422 |
-
</script>
|
423 |
-
<style>
|
424 |
-
html {
|
425 |
-
background: #f9f9f9;
|
426 |
-
}
|
427 |
-
#wsl {
|
428 |
-
background: #fff;
|
429 |
-
color: #333;
|
430 |
-
font-family: sans-serif;
|
431 |
-
margin: 2em auto;
|
432 |
-
padding: 1em 2em;
|
433 |
-
-webkit-border-radius: 3px;
|
434 |
-
border-radius: 3px;
|
435 |
-
border: 1px solid #dfdfdf;
|
436 |
-
max-width: 700px;
|
437 |
-
font-size: 14px;
|
438 |
-
}
|
439 |
-
</style>
|
440 |
-
</head>
|
441 |
-
<body onload="init();">
|
442 |
-
<div id="wsl">
|
443 |
-
<table width="100%" border="0">
|
444 |
-
<tr>
|
445 |
-
<td align="center" height="40px"><br /><br /><?php echo sprintf( _wsl__( "Contacting <b>%s</b>, please wait...", 'wordpress-social-login'), ucfirst( $provider ) ) ?></td>
|
446 |
-
</tr>
|
447 |
-
<tr>
|
448 |
-
<td align="center" height="80px" valign="middle"><img src="<?php echo $assets_base_url ?>loading.gif" /></td>
|
449 |
-
</tr>
|
450 |
-
</table>
|
451 |
-
</div>
|
452 |
-
</body>
|
453 |
-
</html>
|
454 |
-
<?php
|
455 |
-
die();
|
456 |
}
|
457 |
|
458 |
// --------------------------------------------------------------------
|
459 |
|
460 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
461 |
{
|
462 |
-
// HOOKABLE:
|
463 |
-
do_action( "
|
464 |
|
465 |
-
|
466 |
-
$
|
|
|
|
|
|
|
|
|
|
|
467 |
|
468 |
-
//
|
469 |
-
$provider
|
|
|
|
|
470 |
|
471 |
-
|
472 |
-
list(
|
473 |
-
$user_id , // ..
|
474 |
-
$adapter , // ..
|
475 |
-
$hybridauth_user_profile , // ..
|
476 |
-
$hybridauth_user_id , // ..
|
477 |
-
$hybridauth_user_email , // ..
|
478 |
-
$request_user_login , // ..
|
479 |
-
$request_user_email , // ..
|
480 |
-
)
|
481 |
-
= wsl_process_login_hybridauth_authenticate( $provider, $redirect_to );
|
482 |
|
483 |
-
//
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
}
|
489 |
|
490 |
-
//
|
491 |
-
|
492 |
-
|
493 |
-
$user_id , // ..
|
494 |
-
$user_login , // ..
|
495 |
-
$user_email , // ..
|
496 |
-
)
|
497 |
-
= wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email );
|
498 |
}
|
499 |
|
500 |
-
//
|
501 |
-
if(
|
502 |
-
|
503 |
}
|
504 |
|
505 |
-
//
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
// --------------------------------------------------------------------
|
510 |
|
511 |
-
|
512 |
-
{
|
513 |
-
|
514 |
-
|
515 |
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
}
|
520 |
|
521 |
-
if
|
522 |
-
|
523 |
-
|
524 |
|
525 |
-
|
526 |
-
$
|
527 |
}
|
|
|
|
|
|
|
|
|
|
|
528 |
}
|
529 |
|
530 |
-
if
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
if( empty( $redirect_to ) ){
|
535 |
-
$redirect_to = get_option( 'wsl_settings_redirect_url' );
|
536 |
}
|
537 |
|
538 |
-
if
|
539 |
-
$redirect_to = site_url();
|
540 |
-
}
|
541 |
|
542 |
-
|
543 |
-
|
|
|
544 |
|
545 |
-
|
|
|
|
|
|
|
|
|
|
|
546 |
|
547 |
-
|
548 |
-
|
549 |
-
// selected provider name
|
550 |
-
$provider = @ trim( strip_tags( $_REQUEST["provider"] ) );
|
551 |
-
|
552 |
-
return $provider;
|
553 |
-
}
|
554 |
|
555 |
-
|
556 |
|
557 |
-
|
558 |
-
{
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
}
|
564 |
|
565 |
-
|
566 |
-
|
|
|
|
|
567 |
|
568 |
-
|
569 |
-
|
570 |
-
|
|
|
571 |
}
|
572 |
|
573 |
-
$
|
574 |
-
$
|
575 |
-
$config["providers"][$provider] = array();
|
576 |
-
$config["providers"][$provider]["enabled"] = true;
|
577 |
|
578 |
-
|
579 |
-
|
580 |
-
|
|
|
|
|
581 |
}
|
582 |
|
583 |
-
|
584 |
-
|
585 |
-
$config["providers"][$provider]["keys"]["key"] = get_option( 'wsl_settings_' . $provider . '_app_key' );
|
586 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
|
588 |
-
|
589 |
-
|
590 |
-
|
|
|
|
|
591 |
}
|
592 |
|
593 |
-
|
594 |
-
|
|
|
|
|
595 |
|
596 |
-
|
597 |
-
if( $hybridauth->isConnectedWith( $provider ) ){
|
598 |
-
$adapter = $hybridauth->getAdapter( $provider );
|
599 |
|
600 |
-
|
|
|
|
|
|
|
601 |
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
$request_user_login = "";
|
608 |
-
$request_user_email = "";
|
609 |
-
|
610 |
-
# {{{ linking new accounts
|
611 |
-
// Bouncer :: Accounts Linking is enabled
|
612 |
-
if( get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) == 1 ){
|
613 |
-
// if user is linking account
|
614 |
-
// . we DO import contacts
|
615 |
-
// . we DO store the user profile
|
616 |
-
//
|
617 |
-
// . we DONT create another entry on user table
|
618 |
-
// . we DONT create nor update his data on usermeata table
|
619 |
-
if( $_REQUEST[ 'action' ] == "wordpress_social_link" ){
|
620 |
-
global $current_user;
|
621 |
-
|
622 |
-
get_currentuserinfo();
|
623 |
-
$user_id = $current_user->ID;
|
624 |
-
|
625 |
-
return wsl_process_login_authenticate_wp_user_linked_account( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile );
|
626 |
-
}
|
627 |
-
|
628 |
-
// check if connected user is linked account
|
629 |
-
$linked_account = wsl_get_user_linked_account_by_provider_and_identifier( $provider, $hybridauth_user_profile->identifier );
|
630 |
-
|
631 |
-
// if linked account found, we connect the actual user
|
632 |
-
if( $linked_account ){
|
633 |
-
if( count( $linked_account ) > 1 ){
|
634 |
-
return wsl_render_notices_pages( _wsl__("This $provider is linked to many accounts!", 'wordpress-social-login') );
|
635 |
-
}
|
636 |
-
|
637 |
-
$user_id = $linked_account[0]->user_id;
|
638 |
-
|
639 |
-
if( ! $user_id ){
|
640 |
-
return wsl_render_notices_pages( _wsl__("Something wrong!", 'wordpress-social-login') );
|
641 |
-
}
|
642 |
-
|
643 |
-
return wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile );
|
644 |
-
}
|
645 |
-
}
|
646 |
-
# }}} linking new accounts
|
647 |
-
|
648 |
-
# {{{ module Bouncer
|
649 |
-
// Bouncer :: Filters by emails domains name
|
650 |
-
if( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_enabled' ) == 1 ){
|
651 |
-
if( empty( $hybridauth_user_email ) ){
|
652 |
-
return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) );
|
653 |
-
}
|
654 |
-
|
655 |
-
$list = get_option( 'wsl_settings_bouncer_new_users_restrict_domain_list' );
|
656 |
-
$list = preg_split( '/$\R?^/m', $list );
|
657 |
-
|
658 |
-
$current = strstr( $hybridauth_user_email, '@' );
|
659 |
-
|
660 |
-
$shall_pass = false;
|
661 |
-
foreach( $list as $item ){
|
662 |
-
if( trim( strtolower( "@$item" ) ) == strtolower( $current ) ){
|
663 |
-
$shall_pass = true;
|
664 |
-
}
|
665 |
-
}
|
666 |
-
|
667 |
-
if( ! $shall_pass ){
|
668 |
-
return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) );
|
669 |
-
}
|
670 |
-
}
|
671 |
|
672 |
-
|
673 |
-
if( get_option( 'wsl_settings_bouncer_new_users_restrict_email_enabled' ) == 1 ){
|
674 |
-
if( empty( $hybridauth_user_email ) ){
|
675 |
-
return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) );
|
676 |
-
}
|
677 |
-
|
678 |
-
$list = get_option( 'wsl_settings_bouncer_new_users_restrict_email_list' );
|
679 |
-
$list = preg_split( '/$\R?^/m', $list );
|
680 |
-
|
681 |
-
$shall_pass = false;
|
682 |
-
foreach( $list as $item ){
|
683 |
-
if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_email ) ){
|
684 |
-
$shall_pass = true;
|
685 |
-
}
|
686 |
-
}
|
687 |
-
|
688 |
-
if( ! $shall_pass ){
|
689 |
-
return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) );
|
690 |
-
}
|
691 |
-
}
|
692 |
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
foreach( $list as $item ){
|
700 |
-
if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_profile->profileURL ) ){
|
701 |
-
$shall_pass = true;
|
702 |
-
}
|
703 |
-
}
|
704 |
-
|
705 |
-
if( ! $shall_pass ){
|
706 |
-
return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ) );
|
707 |
-
}
|
708 |
-
}
|
709 |
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
)
|
722 |
-
do
|
723 |
-
{
|
724 |
-
list( $shall_pass, $request_user_login, $request_user_email ) = wsl_process_login_complete_registration( $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login );
|
725 |
-
}
|
726 |
-
while( ! $shall_pass );
|
727 |
-
}
|
728 |
}
|
729 |
-
|
730 |
}
|
731 |
-
else{
|
732 |
-
throw new Exception( 'User not connected with ' . $provider . '!' );
|
733 |
-
}
|
734 |
-
}
|
735 |
-
catch( Exception $e ){
|
736 |
-
return wsl_render_notices_pages( sprintf( _wsl__("Unspecified error. #%d", 'wordpress-social-login'), $e->getCode() ) );
|
737 |
}
|
|
|
738 |
|
739 |
-
|
|
|
|
|
|
|
740 |
|
741 |
-
|
742 |
-
|
743 |
-
if ( ! empty( $hybridauth_user_profile->emailVerified ) ){
|
744 |
-
$user_id = (int) email_exists( $hybridauth_user_profile->emailVerified );
|
745 |
-
}
|
746 |
|
747 |
-
|
748 |
-
|
749 |
-
$user_id = (int) wsl_get_user_by_meta( $provider, $hybridauth_user_profile->identifier );
|
750 |
}
|
751 |
|
|
|
752 |
return array(
|
753 |
$user_id,
|
754 |
$adapter,
|
755 |
-
$hybridauth_user_profile,
|
756 |
-
$hybridauth_user_id,
|
757 |
$hybridauth_user_email,
|
758 |
$request_user_login,
|
759 |
$request_user_email,
|
@@ -762,71 +516,83 @@ function wsl_process_login_hybridauth_authenticate( $provider, $redirect_to )
|
|
762 |
|
763 |
// --------------------------------------------------------------------
|
764 |
|
|
|
|
|
|
|
|
|
|
|
765 |
function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email )
|
766 |
{
|
767 |
-
// HOOKABLE:
|
768 |
-
do_action(
|
769 |
|
770 |
-
$user_login =
|
771 |
-
$user_email =
|
772 |
|
773 |
-
// if coming from "complete registration form"
|
774 |
-
if( $
|
775 |
$user_login = $request_user_login;
|
|
|
|
|
|
|
776 |
$user_email = $request_user_email;
|
777 |
}
|
778 |
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
$user_login = trim( str_replace( ' ', '_', strtolower( $hybridauth_user_profile->displayName ) ) );
|
783 |
-
$user_email = $hybridauth_user_profile->email;
|
784 |
|
785 |
-
|
786 |
-
|
787 |
-
|
|
|
|
|
|
|
788 |
|
|
|
789 |
if( empty( $user_login ) ){
|
790 |
-
$user_login = strtolower( $provider ) . "
|
791 |
}
|
792 |
|
793 |
// user name should be unique
|
794 |
-
if
|
795 |
$i = 1;
|
796 |
$user_login_tmp = $user_login;
|
797 |
|
798 |
-
do
|
799 |
-
{
|
800 |
$user_login_tmp = $user_login . "_" . ($i++);
|
801 |
-
}
|
|
|
802 |
|
803 |
$user_login = $user_login_tmp;
|
804 |
}
|
|
|
|
|
|
|
|
|
805 |
|
806 |
// generate an email if none
|
807 |
if ( ! isset ( $user_email ) OR ! is_email( $user_email ) ){
|
808 |
-
$user_email = strtolower( $provider . "_user_" . $user_login ) .
|
809 |
}
|
810 |
|
811 |
// email should be unique
|
812 |
-
if
|
813 |
-
do
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
}
|
|
|
818 |
|
819 |
-
|
820 |
|
821 |
-
|
822 |
-
|
823 |
-
}
|
824 |
}
|
825 |
|
826 |
-
$display_name
|
827 |
-
|
828 |
-
if( $request_user_login || empty ( $display_name ) ){
|
829 |
-
$display_name = $user_login;
|
830 |
}
|
831 |
|
832 |
$userdata = array(
|
@@ -834,7 +600,7 @@ function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile,
|
|
834 |
'user_email' => $user_email,
|
835 |
|
836 |
'display_name' => $display_name,
|
837 |
-
|
838 |
'first_name' => $hybridauth_user_profile->firstName,
|
839 |
'last_name' => $hybridauth_user_profile->lastName,
|
840 |
'user_url' => $hybridauth_user_profile->profileURL,
|
@@ -843,47 +609,63 @@ function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile,
|
|
843 |
'user_pass' => wp_generate_password()
|
844 |
);
|
845 |
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
|
|
850 |
|
851 |
-
|
852 |
-
|
853 |
-
// well do nothing..
|
854 |
}
|
855 |
|
856 |
-
// Bouncer
|
|
|
|
|
857 |
if( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) > 100 ){
|
|
|
|
|
|
|
|
|
858 |
$userdata['role'] = "pending";
|
859 |
}
|
|
|
860 |
|
861 |
// HOOKABLE: change the user data
|
862 |
-
$userdata = apply_filters( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
863 |
|
864 |
-
// HOOKABLE: any action to fire right before a user created on database
|
865 |
-
do_action( 'wsl_hook_process_login_before_insert_user', $userdata, $provider, $hybridauth_user_profile );
|
866 |
|
867 |
-
// HOOKABLE: delegate user insert to a custom function
|
868 |
-
$user_id = apply_filters( '
|
869 |
|
870 |
-
// Create a new user
|
871 |
if( ! $user_id || ! is_integer( $user_id ) ){
|
872 |
$user_id = wp_insert_user( $userdata );
|
873 |
}
|
874 |
|
875 |
// update user metadata
|
876 |
if( $user_id && is_integer( $user_id ) ){
|
877 |
-
update_user_meta( $user_id,
|
|
|
878 |
}
|
879 |
|
880 |
-
// do not continue without user_id
|
881 |
else {
|
882 |
-
|
883 |
-
return wsl_render_notices_pages( _wsl__("An error occurred while creating a new user!" . $user_id->get_error_message(), 'wordpress-social-login') );
|
884 |
-
}
|
885 |
-
|
886 |
-
return wsl_render_notices_pages( _wsl__("An error occurred while creating a new user!", 'wordpress-social-login') );
|
887 |
}
|
888 |
|
889 |
// Send notifications
|
@@ -891,99 +673,243 @@ function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile,
|
|
891 |
wsl_admin_notification( $user_id, $provider );
|
892 |
}
|
893 |
|
894 |
-
// HOOKABLE:
|
895 |
-
|
|
|
896 |
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
|
|
|
|
|
|
902 |
}
|
903 |
|
904 |
// --------------------------------------------------------------------
|
905 |
|
906 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
907 |
{
|
908 |
-
//
|
909 |
-
|
910 |
-
return wsl_render_notices_pages( _wsl__("Invalid user_id", 'wordpress-social-login') );
|
911 |
-
}
|
912 |
|
913 |
-
//
|
914 |
-
$
|
915 |
|
916 |
-
//
|
917 |
-
|
918 |
-
|
|
|
919 |
}
|
920 |
|
921 |
-
//
|
922 |
-
$
|
923 |
-
|
924 |
-
$newdata['user_gender'] = $hybridauth_user_profile->gender;
|
925 |
-
$newdata['user_age'] = $user_age;
|
926 |
-
$newdata['user_image'] = $hybridauth_user_profile->photoURL;
|
927 |
-
|
928 |
-
// HOOKABLE:
|
929 |
-
$newdata = apply_filters( 'wsl_hook_process_login_alter_update_userdata', $newdata, $hybridauth_user_profile, $provider );
|
930 |
|
931 |
-
|
932 |
-
update_user_meta ( $user_id, 'wsl_user_gender', $newdata['user_gender'] );
|
933 |
-
update_user_meta ( $user_id, 'wsl_user_age' , $newdata['user_age'] );
|
934 |
-
update_user_meta ( $user_id, 'wsl_user_image' , $newdata['user_image'] );
|
935 |
|
936 |
-
|
937 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
938 |
|
939 |
-
//
|
940 |
-
|
|
|
941 |
|
942 |
-
|
943 |
-
|
944 |
-
|
|
|
|
|
945 |
|
946 |
-
|
|
|
|
|
947 |
}
|
948 |
|
949 |
-
//
|
950 |
-
|
951 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
952 |
}
|
953 |
-
|
954 |
-
|
|
|
955 |
else{
|
956 |
-
// HOOKABLE:
|
957 |
-
do_action( "
|
|
|
|
|
|
|
|
|
|
|
958 |
|
959 |
-
//
|
960 |
-
wp_set_auth_cookie( $user_id );
|
961 |
}
|
962 |
|
963 |
-
// HOOKABLE:
|
964 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
965 |
|
|
|
|
|
966 |
wp_safe_redirect( $redirect_to );
|
967 |
|
968 |
-
|
|
|
969 |
}
|
970 |
|
971 |
// --------------------------------------------------------------------
|
972 |
|
973 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
974 |
{
|
975 |
-
//
|
976 |
-
|
977 |
|
978 |
-
|
979 |
-
|
|
|
980 |
|
981 |
-
//
|
982 |
-
|
|
|
983 |
|
984 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
985 |
|
986 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
987 |
}
|
988 |
|
989 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
+
* Authenticate users via social networks.
|
11 |
*
|
12 |
+
**
|
13 |
+
* Side note: I don't usually over-comment codes, but this is the main WSL script and I had to since
|
14 |
+
* many users with diffrent "skill levels" may want to understand how this piece of code works.
|
15 |
+
**
|
16 |
+
* To sum things up, here is how WSL works (bit hard to explain, so bare with me):
|
17 |
*
|
18 |
+
* [Widget Icons] A wild visitor appear and click on one of widget icons. Obviously he will redirected to wp-login.php (with specific args in the url: &action=wordpress_social_authenticate&provider=..)
|
19 |
+
* => [wp-login.php] wp-login.php will first call wsl_process_login() which will attempt to authenticate the user through hybridauth library
|
20 |
+
* => [Hybridauth] <=> [Provider] Hybridauth will redirect the user to Provider API and ask for the user authorisation
|
21 |
+
* => [Provider] If the visitor consent and agrees to give your website a premission to access his priveate data, then the provider will then redirect the user to back wp-login.php
|
22 |
+
* => [wp-login.php] wp-login.php will call wsl_process_login() again, which will attempt to grab the user profile form the provide api and identidy him. if he doesn't exist in database we create a new user
|
23 |
+
* => [callback URL] If things goes as expected, the wsl_process_login will log the user into the website and redirect him to where he come from (or Redirect URL).
|
24 |
+
*
|
25 |
+
* Ex:
|
26 |
+
* http://hybridauth.sourceforge.net/wsl/img/wsl_redirections.png
|
27 |
+
**
|
28 |
+
* Functions execution order is the following:
|
29 |
*
|
30 |
+
* wsl_process_login()
|
31 |
+
* . wsl_process_login_begin()
|
32 |
+
* . . wsl_render_redirect_to_provider_loading_screen()
|
33 |
+
* . .
|
34 |
+
* . . Hybrid_Auth::authenticate()
|
35 |
+
* . . . wsl_process_login_render_error_page()
|
36 |
+
* . .
|
37 |
+
* . . wsl_render_return_from_provider_loading_screen()
|
38 |
+
* .
|
39 |
+
* . wsl_process_login_end()
|
40 |
+
* . . wsl_process_login_end_get_user_data()
|
41 |
+
* . . . Hybrid_Auth::isConnectedWith()
|
42 |
+
* . . . . wsl_process_login_render_error_page()
|
43 |
+
* . . .
|
44 |
+
* . . . wsl_process_login_complete_registration()
|
45 |
+
* . .
|
46 |
+
* . . wsl_process_login_create_wp_user()
|
47 |
+
* . . wsl_process_login_update_wsl_user_data()
|
48 |
+
* . . wsl_process_login_authenticate_wp_user()
|
49 |
*/
|
50 |
|
51 |
// Exit if accessed directly
|
53 |
|
54 |
// --------------------------------------------------------------------
|
55 |
|
56 |
+
/**
|
57 |
+
* Entry point to the authentication process
|
58 |
+
*
|
59 |
+
* This function runs after WordPress has finished loading but before any headers are sent.
|
60 |
+
* This function will analyse the current URL parameters and start the login process whenever an
|
61 |
+
* WSL action is found: $_REQUEST['action'] eq wordpress_social_*
|
62 |
+
*
|
63 |
+
* Example of valid origin url:
|
64 |
+
* wp-login.php
|
65 |
+
* ?action=wordpress_social_authenticate // current step
|
66 |
+
* &provider=Twitter // selected provider
|
67 |
+
* &redirect_to=http%3A%2F%2Fexample.com%2Fwordpress%2F%3Fp%3D1 // where the user come from
|
68 |
+
*
|
69 |
+
* Ref: http://codex.wordpress.org/Plugin_API/Action_Reference/init
|
70 |
+
*/
|
71 |
function wsl_process_login()
|
72 |
{
|
73 |
+
// > action should be either 'wordpress_social_authenticate', 'wordpress_social_profile_completion' or 'wordpress_social_authenticated'
|
74 |
+
$action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null;
|
|
|
75 |
|
76 |
+
if( ! in_array( $action, array( "wordpress_social_authenticate", "wordpress_social_profile_completion", "wordpress_social_authenticated" ) ) ){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
return false;
|
78 |
}
|
79 |
|
80 |
+
// user already logged in?
|
81 |
+
if( is_user_logged_in() ){
|
82 |
+
global $current_user;
|
83 |
|
84 |
+
get_currentuserinfo();
|
|
|
|
|
85 |
|
86 |
+
return wsl_process_login_render_notice_page( sprintf( _wsl__( "You are already logged in as <b>%s</b>.", 'wordpress-social-login' ), $current_user->display_name ) );
|
87 |
}
|
88 |
|
89 |
+
// Bouncer :: Allow authentication?
|
90 |
+
if( get_option( 'wsl_settings_bouncer_authentication_enabled' ) == 2 ){
|
91 |
+
return wsl_process_login_render_notice_page( _wsl__( "Authentication through social networks is currently disabled.", 'wordpress-social-login' ) );
|
|
|
92 |
}
|
93 |
|
94 |
+
// HOOKABLE:
|
95 |
+
do_action( "wsl_process_login_start" );
|
96 |
+
|
97 |
+
// if action=wordpress_social_authenticate
|
98 |
+
// > start the first part of authentication (redirect the user to the selected provider)
|
99 |
+
if( $action == "wordpress_social_authenticate" ){
|
100 |
+
return wsl_process_login_begin();
|
101 |
}
|
102 |
|
103 |
+
// if action=wordpress_social_authenticated or action=wordpress_social_profile_completion
|
104 |
+
// > finish the authentication process (create new user if doesn't exist in database, then log him in within wordpress)
|
105 |
+
wsl_process_login_end();
|
106 |
}
|
107 |
|
108 |
+
add_action( 'init', 'wsl_process_login' );
|
109 |
+
|
110 |
// --------------------------------------------------------------------
|
111 |
|
112 |
+
/**
|
113 |
+
* Start the first part of authentication
|
114 |
+
*
|
115 |
+
* Steps:
|
116 |
+
* 1. Display a loading screen while hybridauth is redirecting the user to the selected provider
|
117 |
+
* 2. Build the hybridauth config for the selected provider (keys, scope, etc)
|
118 |
+
* 3. Instantiate the class Hybrid_Auth and redirect the user to provider to ask for authorisation for this website
|
119 |
+
* 4. Display a loading screen after user come back from provider as we redirect the user back to Widget::Redirect URL
|
120 |
+
*/
|
121 |
+
function wsl_process_login_begin()
|
122 |
{
|
123 |
+
// HOOKABLE:
|
124 |
+
do_action( "wsl_process_login_begin_start" );
|
125 |
|
126 |
+
$config = null;
|
127 |
+
$hybridauth = null;
|
128 |
+
$provider = null;
|
129 |
+
$adapter = null;
|
130 |
|
131 |
+
/* 1. Display a loading screen while hybridauth is redirecting the user to the selected provider */
|
|
|
|
|
|
|
132 |
|
133 |
+
// the loading screen should reflesh it self with a new arg in url: &redirect_to_provider=ture
|
134 |
+
if( ! isset( $_REQUEST["redirect_to_provider"] ) ){
|
135 |
+
$_SESSION["HA::STORE"] = ARRAY();
|
136 |
|
137 |
+
return wsl_render_redirect_to_provider_loading_screen( wsl_process_login_get_selected_provider() );
|
138 |
+
}
|
|
|
|
|
|
|
139 |
|
140 |
+
// if user come from loading screen (&redirect_to_provider=)
|
141 |
+
// > check for required args and display an error if any is missing
|
142 |
+
if( ! isset( $_REQUEST['provider'] ) || ! isset( $_REQUEST['redirect_to_provider'] ) ){
|
143 |
+
return wsl_process_login_render_notice_page( _wsl__( 'Bouncer says this makes no sense.', 'wordpress-social-login' ) );
|
144 |
+
}
|
145 |
|
146 |
+
/* 2. Build the hybridauth config for the selected provider (keys, scope, etc) */
|
|
|
147 |
|
148 |
+
// selected provider name
|
149 |
+
$provider = wsl_process_login_get_selected_provider();
|
|
|
|
|
150 |
|
151 |
+
// provider enabled?
|
152 |
+
if( ! get_option( 'wsl_settings_' . $provider . '_enabled' ) ){
|
153 |
+
return wsl_process_login_render_notice_page( _wsl__( "Unknown or disabled provider.", 'wordpress-social-login' ) );
|
154 |
+
}
|
155 |
|
156 |
+
// build required configuration for this provider
|
157 |
+
$config = array();
|
158 |
+
$config["base_url"] = WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL;
|
159 |
+
$config["providers"] = array();
|
160 |
+
$config["providers"][$provider] = array();
|
161 |
+
$config["providers"][$provider]["enabled"] = true;
|
162 |
+
$config["providers"][$provider]["keys"] = array( 'id' => null, 'key' => null, 'secret' => null );
|
163 |
|
164 |
+
// provider application id ?
|
165 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_id' ) ){
|
166 |
+
$config["providers"][$provider]["keys"]["id"] = get_option( 'wsl_settings_' . $provider . '_app_id' );
|
167 |
+
}
|
|
|
|
|
|
|
|
|
168 |
|
169 |
+
// provider application key ?
|
170 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_key' ) ){
|
171 |
+
$config["providers"][$provider]["keys"]["key"] = get_option( 'wsl_settings_' . $provider . '_app_key' );
|
172 |
+
}
|
|
|
173 |
|
174 |
+
// provider application secret ?
|
175 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_secret' ) ){
|
176 |
+
$config["providers"][$provider]["keys"]["secret"] = get_option( 'wsl_settings_' . $provider . '_app_secret' );
|
177 |
+
}
|
178 |
|
179 |
+
// set default scope and display mode for facebook
|
180 |
+
if( strtolower( $provider ) == "facebook" ){
|
181 |
+
$config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website";
|
182 |
+
$config["providers"][$provider]["display"] = "popup";
|
183 |
+
$config["providers"][$provider]["trustForwarded"] = true;
|
184 |
|
185 |
+
// switch to fb::display 'page' if wsl auth in page
|
186 |
+
if ( get_option( 'wsl_settings_use_popup') == 2 ) {
|
187 |
+
$config["providers"][$provider]["display"] = "page";
|
188 |
}
|
189 |
+
}
|
190 |
|
191 |
+
// set default scope for google
|
192 |
+
# https://developers.facebook.com/docs/facebook-login/permissions
|
193 |
+
if( strtolower( $provider ) == "google" ){
|
194 |
+
$config["providers"][$provider]["scope"] = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read";
|
195 |
+
}
|
196 |
|
197 |
+
// if contacts import enabled for facebook, we request an extra permission 'read_friendlists'
|
198 |
+
# https://developers.google.com/+/domains/authentication/scopes
|
199 |
+
if( get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ){
|
200 |
+
$config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website, read_friendlists";
|
201 |
+
}
|
202 |
|
203 |
+
// if contacts import enabled for google, we request an extra permission 'https://www.google.com/m8/feeds/'
|
204 |
+
if( get_option( 'wsl_settings_contacts_import_google' ) == 1 && strtolower( $provider ) == "google" ){
|
205 |
+
$config["providers"][$provider]["scope"] = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read https://www.google.com/m8/feeds/";
|
206 |
+
}
|
|
|
207 |
|
208 |
+
// HOOKABLE: allow to overwrite scopes (some people have asked for a way to lower the number of permissions requested)
|
209 |
+
$provider_scope = isset( $config["providers"][$provider]["scope"] ) ? $config["providers"][$provider]["scope"] : '' ;
|
210 |
+
$config["providers"][$provider]["scope"] = apply_filters( 'wsl_hook_alter_provider_scope', $provider_scope, $provider );
|
|
|
211 |
|
212 |
+
/* 3. Instantiate the class Hybrid_Auth and redirect the user to provider to ask for authorisation for this website */
|
|
|
|
|
|
|
213 |
|
214 |
+
// load hybridauth main class
|
215 |
+
if ( ! class_exists('Hybrid_Auth', false) ){
|
216 |
+
require_once WORDPRESS_SOCIAL_LOGIN_ABS_PATH . "/hybridauth/Hybrid/Auth.php";
|
217 |
+
}
|
218 |
|
219 |
+
// HOOKABLE:
|
220 |
+
do_action( "wsl_hook_process_login_before_hybridauth_authenticate", $provider, $config );
|
221 |
+
|
222 |
+
try{
|
223 |
+
// create an instance oh hybridauth with the generated config
|
224 |
$hybridauth = new Hybrid_Auth( $config );
|
225 |
|
226 |
+
// start the authentication process via hybridauth
|
227 |
+
// > if not already connected hybridauth::authenticate() will redirect the user to the provider
|
228 |
+
// > where he will be asked for his consent (most providers ask for consent only once).
|
229 |
+
// > after that, the provider will redirect the user back to this same page (and this same line).
|
230 |
+
// > if the user is successfully connected to provider, then this time hybridauth::authenticate()
|
231 |
+
// > will just return the provider adapter
|
232 |
+
$adapter = $hybridauth->authenticate( $provider );
|
233 |
+
}
|
234 |
|
235 |
+
// if hybridauth fails to authenticate the user, then we display an error message
|
236 |
+
catch( Exception $e ){
|
237 |
+
return wsl_process_login_render_error_page( $e, $config, $hybridauth, $provider, $adapter );
|
238 |
+
}
|
239 |
|
240 |
+
// HOOKABLE:
|
241 |
+
do_action( "wsl_hook_process_login_after_hybridauth_authenticate", $provider, $config );
|
242 |
|
243 |
+
/* 4. Display a loading screen after user come back from provider as we redirect the user back to Widget::Redirect URL */
|
|
|
|
|
|
|
244 |
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
|
253 |
+
// display a loading screen
|
254 |
+
return wsl_render_return_from_provider_loading_screen( $provider, $authenticated_url, $redirect_to, $wsl_settings_use_popup );
|
255 |
}
|
256 |
|
257 |
// --------------------------------------------------------------------
|
258 |
|
259 |
+
/**
|
260 |
+
* Finish the authentication process
|
261 |
+
*
|
262 |
+
* Steps:
|
263 |
+
* 1. Get the user profile from provider
|
264 |
+
* 2. Create new wordpress user if he didn't exist in database
|
265 |
+
* 3. Store his Hybridauth profile, contacts and BP mapping
|
266 |
+
* 4. Authenticate the user within wordpress
|
267 |
+
*/
|
268 |
+
function wsl_process_login_end()
|
269 |
{
|
270 |
+
// HOOKABLE:
|
271 |
+
do_action( "wsl_process_login_end_start" );
|
272 |
|
273 |
+
// HOOKABLE: set a custom Redirect URL
|
274 |
+
$redirect_to = apply_filters( 'wsl_hook_process_login_alter_redirect_to', wsl_process_login_get_redirect_to() ) ;
|
275 |
|
276 |
+
// HOOKABLE: reset the provider id
|
277 |
+
$provider = apply_filters( 'wsl_hook_process_login_alter_provider', wsl_process_login_get_selected_provider() ) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
+
// is it a new or returning user
|
280 |
+
$is_new_user = false;
|
281 |
|
282 |
+
// returns user data after he authenticate via hybridauth
|
283 |
+
list(
|
284 |
+
$user_id , // user_id if found in database
|
285 |
+
$adapter , // hybriauth adapter for the selected provider
|
286 |
+
$hybridauth_user_profile, // hybriauth user profile
|
287 |
+
$hybridauth_user_email , // user email as provided by the provider
|
288 |
+
$request_user_login , // username typed by users in Profile Completion
|
289 |
+
$request_user_email , // email typed by users in Profile Completion
|
290 |
+
)
|
291 |
+
= wsl_process_login_end_get_user_data( $provider, $redirect_to );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
|
293 |
+
// if no associated user were found in wslusersprofiles, create new WordPress user
|
294 |
+
if( ! $user_id ){
|
295 |
+
$user_id = wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email );
|
296 |
|
297 |
+
$is_new_user = true;
|
298 |
+
}
|
|
|
299 |
|
300 |
+
// store user hybridauth profile (wslusersprofiles), contacts (wsluserscontacts) and buddypress mapping
|
301 |
+
wsl_process_login_update_wsl_user_data( $is_new_user, $user_id, $provider, $adapter, $hybridauth_user_profile );
|
302 |
|
303 |
+
// finally create a wordpress session for the user
|
304 |
+
wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
}
|
306 |
|
307 |
// --------------------------------------------------------------------
|
308 |
|
309 |
+
/**
|
310 |
+
* Returns user data after he authenticate via hybridauth
|
311 |
+
*
|
312 |
+
* Steps:
|
313 |
+
* 1. Grab the user profile from hybridauth
|
314 |
+
* 2. Run Bouncer::Filters if enabled (domains, emails, profiles urls)
|
315 |
+
* 3 Check if user exist in database by looking for the couple (Provider name, Provider user ID) or verified email
|
316 |
+
* 4. If Bouncer::Profile Completion is enabled and user didn't exist, we require the user to complete the registration (user name & email)
|
317 |
+
*/
|
318 |
+
function wsl_process_login_end_get_user_data( $provider, $redirect_to )
|
319 |
{
|
320 |
+
// HOOKABLE:
|
321 |
+
do_action( "wsl_process_login_end_get_user_data_start", $provider, $redirect_to );
|
322 |
|
323 |
+
$user_id = null;
|
324 |
+
$config = null;
|
325 |
+
$hybridauth = null;
|
326 |
+
$adapter = null;
|
327 |
+
$hybridauth_user_profile = null;
|
328 |
+
$request_user_login = '';
|
329 |
+
$request_user_email = '';
|
330 |
|
331 |
+
// provider is enabled?
|
332 |
+
if( ! get_option( 'wsl_settings_' . $provider . '_enabled' ) ){
|
333 |
+
return wsl_process_login_render_notice_page( _wsl__( "Unknown or disabled provider.", 'wordpress-social-login' ) );
|
334 |
+
}
|
335 |
|
336 |
+
/* 1. Grab the user profile from hybridauth */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
|
338 |
+
// build required configuration for this provider. this we will only need provider keys
|
339 |
+
$config = array();
|
340 |
+
$config["providers"] = array();
|
341 |
+
$config["providers"][$provider] = array();
|
342 |
+
$config["providers"][$provider]["enabled"] = true;
|
|
|
343 |
|
344 |
+
// provider application id ?
|
345 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_id' ) ){
|
346 |
+
$config["providers"][$provider]["keys"]["id"] = get_option( 'wsl_settings_' . $provider . '_app_id' );
|
|
|
|
|
|
|
|
|
|
|
347 |
}
|
348 |
|
349 |
+
// provider application key ?
|
350 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_key' ) ){
|
351 |
+
$config["providers"][$provider]["keys"]["key"] = get_option( 'wsl_settings_' . $provider . '_app_key' );
|
352 |
}
|
353 |
|
354 |
+
// provider application secret ?
|
355 |
+
if( get_option( 'wsl_settings_' . $provider . '_app_secret' ) ){
|
356 |
+
$config["providers"][$provider]["keys"]["secret"] = get_option( 'wsl_settings_' . $provider . '_app_secret' );
|
357 |
+
}
|
|
|
358 |
|
359 |
+
// load hybridauth main class
|
360 |
+
if ( ! class_exists('Hybrid_Auth', false) ){
|
361 |
+
require_once WORDPRESS_SOCIAL_LOGIN_ABS_PATH . "/hybridauth/Hybrid/Auth.php";
|
362 |
+
}
|
363 |
|
364 |
+
try{
|
365 |
+
// create an instance of hybridauth with the generated config
|
366 |
+
$hybridauth = new Hybrid_Auth( $config );
|
|
|
367 |
|
368 |
+
// if user authenticated successfully with social network
|
369 |
+
if( $hybridauth->isConnectedWith( $provider ) ){
|
370 |
+
$adapter = $hybridauth->getAdapter( $provider );
|
371 |
|
372 |
+
// grab user profile via hybridauth api
|
373 |
+
$hybridauth_user_profile = $adapter->getUserProfile();
|
374 |
}
|
375 |
+
|
376 |
+
// if user not connected to provider (ie: session lost, url forged)
|
377 |
+
else{
|
378 |
+
return wsl_process_login_render_notice_page( sprintf( _wsl__( "User not connected with <b>%s</b>", 'wordpress-social-login' ), $provider ) );
|
379 |
+
}
|
380 |
}
|
381 |
|
382 |
+
// if things didn't go as expected, we dispay the appropriate error message
|
383 |
+
catch( Exception $e ){
|
384 |
+
return wsl_process_login_render_error_page( $e, $config, $hybridauth, $provider, $adapter );
|
|
|
|
|
|
|
385 |
}
|
386 |
|
387 |
+
/* 2. Run Bouncer::Filters if enabled (domains, emails, profiles urls) */
|
|
|
|
|
388 |
|
389 |
+
// check hybridauth profile
|
390 |
+
$hybridauth_user_email = sanitize_email( $hybridauth_user_profile->email );
|
391 |
+
$hybridauth_user_login = sanitize_user( $hybridauth_user_profile->displayName, true );
|
392 |
|
393 |
+
# {{{ module Bouncer
|
394 |
+
// Bouncer::Filters by emails domains name
|
395 |
+
if( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_enabled' ) == 1 ){
|
396 |
+
if( empty( $hybridauth_user_email ) ){
|
397 |
+
return wsl_process_login_render_notice_page( _wsl__( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ), 'wordpress-social-login') );
|
398 |
+
}
|
399 |
|
400 |
+
$list = get_option( 'wsl_settings_bouncer_new_users_restrict_domain_list' );
|
401 |
+
$list = preg_split( '/$\R?^/m', $list );
|
|
|
|
|
|
|
|
|
|
|
402 |
|
403 |
+
$current = strstr( $hybridauth_user_email, '@' );
|
404 |
|
405 |
+
$shall_pass = false;
|
406 |
+
foreach( $list as $item ){
|
407 |
+
if( trim( strtolower( "@$item" ) ) == strtolower( $current ) ){
|
408 |
+
$shall_pass = true;
|
409 |
+
}
|
410 |
+
}
|
|
|
411 |
|
412 |
+
if( ! $shall_pass ){
|
413 |
+
return wsl_process_login_render_notice_page( _wsl__( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ), 'wordpress-social-login') );
|
414 |
+
}
|
415 |
+
}
|
416 |
|
417 |
+
// Bouncer::Filters by e-mails addresses
|
418 |
+
if( get_option( 'wsl_settings_bouncer_new_users_restrict_email_enabled' ) == 1 ){
|
419 |
+
if( empty( $hybridauth_user_email ) ){
|
420 |
+
return wsl_process_login_render_notice_page( _wsl__( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ), 'wordpress-social-login') );
|
421 |
}
|
422 |
|
423 |
+
$list = get_option( 'wsl_settings_bouncer_new_users_restrict_email_list' );
|
424 |
+
$list = preg_split( '/$\R?^/m', $list );
|
|
|
|
|
425 |
|
426 |
+
$shall_pass = false;
|
427 |
+
foreach( $list as $item ){
|
428 |
+
if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_email ) ){
|
429 |
+
$shall_pass = true;
|
430 |
+
}
|
431 |
}
|
432 |
|
433 |
+
if( ! $shall_pass ){
|
434 |
+
return wsl_process_login_render_notice_page( _wsl__( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ), 'wordpress-social-login') );
|
|
|
435 |
}
|
436 |
+
}
|
437 |
+
|
438 |
+
// Bouncer ::Filters by profile urls
|
439 |
+
if( get_option( 'wsl_settings_bouncer_new_users_restrict_profile_enabled' ) == 1 ){
|
440 |
+
$list = get_option( 'wsl_settings_bouncer_new_users_restrict_profile_list' );
|
441 |
+
$list = preg_split( '/$\R?^/m', $list );
|
442 |
|
443 |
+
$shall_pass = false;
|
444 |
+
foreach( $list as $item ){
|
445 |
+
if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_profile->profileURL ) ){
|
446 |
+
$shall_pass = true;
|
447 |
+
}
|
448 |
}
|
449 |
|
450 |
+
if( ! $shall_pass ){
|
451 |
+
return wsl_process_login_render_notice_page( _wsl__( get_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ), 'wordpress-social-login') );
|
452 |
+
}
|
453 |
+
}
|
454 |
|
455 |
+
/* 3. Check if user exist in database by looking for the couple (Provider name, Provider user ID) or verified email */
|
|
|
|
|
456 |
|
457 |
+
// chech if user already exist in wslusersprofiles
|
458 |
+
if( ! $user_id ){
|
459 |
+
$user_id = (int) wsl_get_stored_hybridauth_user_id_by_provider_and_provider_uid( $provider, $hybridauth_user_profile->identifier );
|
460 |
+
}
|
461 |
|
462 |
+
// check if this user verified email is in use. if true, we link this social network profile to the found WP user
|
463 |
+
if( ! empty( $hybridauth_user_profile->emailVerified ) ){
|
464 |
+
$user_id = (int) email_exists( $hybridauth_user_profile->emailVerified );
|
465 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
|
467 |
+
/* 4. If Bouncer::Profile Completion is enabled and user didn't exist, we require the user to complete the registration (user name & email) */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
|
469 |
+
// if associated WP user not found in wslusersprofiles nor he have verified email in use
|
470 |
+
if( ! $user_id ){
|
471 |
+
// Bouncer :: Accept new registrations
|
472 |
+
if( get_option( 'wsl_settings_bouncer_registration_enabled' ) == 2 ){
|
473 |
+
return wsl_process_login_render_notice_page( _wsl__( "Registration is now closed.", 'wordpress-social-login' ) );
|
474 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
475 |
|
476 |
+
// Bouncer :: Profile Completion
|
477 |
+
if(
|
478 |
+
( get_option( 'wsl_settings_bouncer_profile_completion_require_email' ) == 1 && empty( $hybridauth_user_email ) ) ||
|
479 |
+
get_option( 'wsl_settings_bouncer_profile_completion_change_username' ) == 1
|
480 |
+
){
|
481 |
+
do
|
482 |
+
{
|
483 |
+
list(
|
484 |
+
$shall_pass,
|
485 |
+
$request_user_login,
|
486 |
+
$request_user_email
|
487 |
+
) = wsl_process_login_complete_registration( $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login );
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
489 |
+
while( ! $shall_pass );
|
490 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
}
|
492 |
+
# }}} module Bouncer
|
493 |
|
494 |
+
// if user is found in wslusersprofiles but the associated WP user account no longer exist
|
495 |
+
// > this should never happen! but just in case: we delete the user wslusersprofiles/wsluserscontacts entries and we reset the process
|
496 |
+
if( $user_id ){
|
497 |
+
$user_data = get_userdata( $user_id );
|
498 |
|
499 |
+
if( ! $user_data ){
|
500 |
+
wsl_delete_stored_hybridauth_user_data( $user_id );
|
|
|
|
|
|
|
501 |
|
502 |
+
return wsl_process_login_render_notice_page( _wsl__("Sorry, we couldn't connect you. Please try again.", 'wordpress-social-login') );
|
503 |
+
}
|
|
|
504 |
}
|
505 |
|
506 |
+
// returns user data
|
507 |
return array(
|
508 |
$user_id,
|
509 |
$adapter,
|
510 |
+
$hybridauth_user_profile,
|
|
|
511 |
$hybridauth_user_email,
|
512 |
$request_user_login,
|
513 |
$request_user_email,
|
516 |
|
517 |
// --------------------------------------------------------------------
|
518 |
|
519 |
+
/**
|
520 |
+
* Create a new wordpress user
|
521 |
+
*
|
522 |
+
* Ref: http://codex.wordpress.org/Function_Reference/wp_insert_user
|
523 |
+
*/
|
524 |
function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email )
|
525 |
{
|
526 |
+
// HOOKABLE:
|
527 |
+
do_action( "wsl_process_login_create_wp_user_start", $provider, $hybridauth_user_profile, $request_user_login, $request_user_email );
|
528 |
|
529 |
+
$user_login = '';
|
530 |
+
$user_email = '';
|
531 |
|
532 |
+
// if coming from "complete registration form"
|
533 |
+
if( $request_user_login ){
|
534 |
$user_login = $request_user_login;
|
535 |
+
}
|
536 |
+
|
537 |
+
if( $request_user_email ){
|
538 |
$user_email = $request_user_email;
|
539 |
}
|
540 |
|
541 |
+
if ( ! $user_login ){
|
542 |
+
// attempt to generate user_login from hybridauth user profile display name
|
543 |
+
$user_login = $hybridauth_user_profile->displayName;
|
|
|
|
|
544 |
|
545 |
+
// sanitize user login
|
546 |
+
$user_login = sanitize_user( $user_login, true );
|
547 |
+
|
548 |
+
// remove spaces and dots
|
549 |
+
$user_login = trim( str_replace( array( ' ', '.' ), '_', $user_login ) );
|
550 |
+
$user_login = trim( str_replace( '__', '_', $user_login ) );
|
551 |
|
552 |
+
// if user profile display name is not provided
|
553 |
if( empty( $user_login ) ){
|
554 |
+
$user_login = strtolower( $provider ) . "_user";
|
555 |
}
|
556 |
|
557 |
// user name should be unique
|
558 |
+
if( username_exists( $user_login ) ){
|
559 |
$i = 1;
|
560 |
$user_login_tmp = $user_login;
|
561 |
|
562 |
+
do{
|
|
|
563 |
$user_login_tmp = $user_login . "_" . ($i++);
|
564 |
+
}
|
565 |
+
while( username_exists ($user_login_tmp));
|
566 |
|
567 |
$user_login = $user_login_tmp;
|
568 |
}
|
569 |
+
}
|
570 |
+
|
571 |
+
if ( ! $user_email ){
|
572 |
+
$user_email = $hybridauth_user_profile->email;
|
573 |
|
574 |
// generate an email if none
|
575 |
if ( ! isset ( $user_email ) OR ! is_email( $user_email ) ){
|
576 |
+
$user_email = strtolower( $provider . "_user_" . $user_login ) . '@example.com';
|
577 |
}
|
578 |
|
579 |
// email should be unique
|
580 |
+
if( email_exists ( $user_email ) ){
|
581 |
+
do{
|
582 |
+
$user_email = md5( uniqid( wp_rand( 10000,99000 ) ) ) . '@example.com';
|
583 |
+
}
|
584 |
+
while( email_exists( $user_email ) );
|
585 |
}
|
586 |
+
}
|
587 |
|
588 |
+
$display_name = $hybridauth_user_profile->displayName;
|
589 |
|
590 |
+
if( $request_user_login ){
|
591 |
+
$display_name = sanitize_user( $request_user_login, true );
|
|
|
592 |
}
|
593 |
|
594 |
+
if( empty( $display_name ) ){
|
595 |
+
$display_name = strtolower( $provider ) . "_user";
|
|
|
|
|
596 |
}
|
597 |
|
598 |
$userdata = array(
|
600 |
'user_email' => $user_email,
|
601 |
|
602 |
'display_name' => $display_name,
|
603 |
+
|
604 |
'first_name' => $hybridauth_user_profile->firstName,
|
605 |
'last_name' => $hybridauth_user_profile->lastName,
|
606 |
'user_url' => $hybridauth_user_profile->profileURL,
|
609 |
'user_pass' => wp_generate_password()
|
610 |
);
|
611 |
|
612 |
+
# {{{ module Bouncer
|
613 |
+
# http://www.jfarthing.com/development/theme-my-login/user-moderation/
|
614 |
+
// Bouncer::Membership level
|
615 |
+
// when enabled and != 'default', Bouncer::Membership level will defines the new user role
|
616 |
+
$wsl_settings_bouncer_new_users_membership_default_role = get_option( 'wsl_settings_bouncer_new_users_membership_default_role' );
|
617 |
|
618 |
+
if( $wsl_settings_bouncer_new_users_membership_default_role != "default" ){
|
619 |
+
$userdata['role'] = $wsl_settings_bouncer_new_users_membership_default_role;
|
|
|
620 |
}
|
621 |
|
622 |
+
// Bouncer::User Moderation
|
623 |
+
// > if enabled (Yield to Theme My Login), then we overwrite the user role to 'pending'
|
624 |
+
// > if User Moderation is set to Admin Approval then Membership level will be ignored
|
625 |
if( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) > 100 ){
|
626 |
+
// Theme My Login : User Moderation
|
627 |
+
// > Upon activation of this module, a new user role will be created, titled "Pending". This role has no privileges by default.
|
628 |
+
// > When a user confirms their e-mail address or when you approve a user, they are automatically assigned to the default user role for the blog/site.
|
629 |
+
// http://www.jfarthing.com/development/theme-my-login/user-moderation/
|
630 |
$userdata['role'] = "pending";
|
631 |
}
|
632 |
+
# }}} module Bouncer
|
633 |
|
634 |
// HOOKABLE: change the user data
|
635 |
+
$userdata = apply_filters( 'wsl_hook_process_login_alter_wp_insert_user_data', $userdata, $provider, $hybridauth_user_profile );
|
636 |
+
|
637 |
+
|
638 |
+
/** IMPORTANT: wsl_hook_process_login_alter_userdata is DEPRECIATED since 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
639 |
+
$userdata = apply_filters( 'wsl_hook_process_login_alter_userdata', $userdata, $provider, $hybridauth_user_profile );
|
640 |
+
/** IMPORTANT: wsl_hook_process_login_alter_userdata is DEPRECIATED since 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
641 |
+
|
642 |
+
|
643 |
+
// HOOKABLE: This action runs just before creating a new wordpress user.
|
644 |
+
do_action( 'wsl_hook_process_login_before_wp_insert_user', $userdata, $provider, $hybridauth_user_profile );
|
645 |
+
|
646 |
+
|
647 |
+
/** IMPORTANT: wsl_hook_process_login_before_insert_user is DEPRECIATED since 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
648 |
+
do_action( 'wsl_hook_process_login_before_insert_user', $userdata, $provider, $hybridauth_user_profile );
|
649 |
+
/** IMPORTANT: wsl_hook_process_login_before_insert_user is DEPRECIATED since 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
650 |
|
|
|
|
|
651 |
|
652 |
+
// HOOKABLE: This action runs just before creating a new wordpress user, it delegate user insert to a custom function.
|
653 |
+
$user_id = apply_filters( 'wsl_hook_process_login_delegate_wp_insert_user', $userdata, $provider, $hybridauth_user_profile );
|
654 |
|
655 |
+
// Create a new WordPress user
|
656 |
if( ! $user_id || ! is_integer( $user_id ) ){
|
657 |
$user_id = wp_insert_user( $userdata );
|
658 |
}
|
659 |
|
660 |
// update user metadata
|
661 |
if( $user_id && is_integer( $user_id ) ){
|
662 |
+
update_user_meta( $user_id, 'wsl_current_provider' , $provider );
|
663 |
+
update_user_meta( $user_id, 'wsl_current_user_image' , $hybridauth_user_profile->photoURL );
|
664 |
}
|
665 |
|
666 |
+
// do not continue without user_id
|
667 |
else {
|
668 |
+
return wsl_process_login_render_notice_page( _wsl__( "An error occurred while creating a new user!", 'wordpress-social-login' ) );
|
|
|
|
|
|
|
|
|
669 |
}
|
670 |
|
671 |
// Send notifications
|
673 |
wsl_admin_notification( $user_id, $provider );
|
674 |
}
|
675 |
|
676 |
+
// HOOKABLE: This action runs just after a wordpress user has been created
|
677 |
+
// > Note: At this point, the user has been added to wordpress database, but NOT CONNECTED.
|
678 |
+
do_action( 'wsl_hook_process_login_after_wp_insert_user', $user_id, $provider, $hybridauth_user_profile );
|
679 |
|
680 |
+
|
681 |
+
/** IMPORTANT: wsl_hook_process_login_after_create_wp_user is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
682 |
+
do_action( 'wsl_hook_process_login_after_create_wp_user', $user_id, $provider, $hybridauth_user_profile );
|
683 |
+
/** IMPORTANT: wsl_hook_process_login_after_create_wp_user is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
684 |
+
|
685 |
+
|
686 |
+
// returns the user created user id
|
687 |
+
return $user_id;
|
688 |
}
|
689 |
|
690 |
// --------------------------------------------------------------------
|
691 |
|
692 |
+
/**
|
693 |
+
* Store WSL user data
|
694 |
+
*
|
695 |
+
* Steps:
|
696 |
+
* 1. Store Hybridauth user profile
|
697 |
+
* 2. Import user contacts
|
698 |
+
* 3. Launch BuddyPress Profile mapping
|
699 |
+
*/
|
700 |
+
function wsl_process_login_update_wsl_user_data( $is_new_user, $user_id, $provider, $adapter, $hybridauth_user_profile )
|
701 |
{
|
702 |
+
// HOOKABLE:
|
703 |
+
do_action( "wsl_process_login_update_wsl_user_data_start", $is_new_user, $user_id, $provider, $adapter, $hybridauth_user_profile );
|
|
|
|
|
704 |
|
705 |
+
// store user hybridauth user profile in table wslusersprofiles
|
706 |
+
wsl_store_hybridauth_user_profile( $user_id, $provider, $hybridauth_user_profile );
|
707 |
|
708 |
+
// map hybridauth user profile to buddypress xprofile table, if enabled
|
709 |
+
// > Profile mapping will only work with new users. Profile mapping for returning users will implemented in future version of WSL.
|
710 |
+
if( $is_new_user ){
|
711 |
+
wsl_buddypress_xprofile_mapping( $user_id, $provider, $hybridauth_user_profile );
|
712 |
}
|
713 |
|
714 |
+
// importt user contacts into wslusersprofiles, if enabled
|
715 |
+
wsl_store_hybridauth_user_contacts( $user_id, $provider, $adapter );
|
716 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
717 |
|
718 |
+
// --------------------------------------------------------------------
|
|
|
|
|
|
|
719 |
|
720 |
+
/**
|
721 |
+
* Authenticate a user within wordpress
|
722 |
+
*
|
723 |
+
* Ref: http://codex.wordpress.org/Function_Reference/wp_set_auth_cookie
|
724 |
+
* Ref: http://codex.wordpress.org/Function_Reference/wp_safe_redirect
|
725 |
+
*/
|
726 |
+
function wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile )
|
727 |
+
{
|
728 |
+
// HOOKABLE:
|
729 |
+
do_action( "wsl_process_login_authenticate_wp_user_start", $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile );
|
730 |
|
731 |
+
// update some fields in usermeta for the current user
|
732 |
+
update_user_meta( $user_id, 'wsl_current_provider' , $provider );
|
733 |
+
update_user_meta( $user_id, 'wsl_current_user_image' , $hybridauth_user_profile->photoURL );
|
734 |
|
735 |
+
# {{{ module Bouncer
|
736 |
+
# http://www.jfarthing.com/development/theme-my-login/user-moderation/
|
737 |
+
# https://wordpress.org/support/topic/bouncer-user-moderation-blocks-logins-when-enabled#post-4331601
|
738 |
+
$role = '';
|
739 |
+
$wsl_settings_bouncer_new_users_moderation_level = get_option( 'wsl_settings_bouncer_new_users_moderation_level' );
|
740 |
|
741 |
+
// get user role
|
742 |
+
if( $wsl_settings_bouncer_new_users_moderation_level > 100 ){
|
743 |
+
$role = current( get_userdata( $user_id )->roles );
|
744 |
}
|
745 |
|
746 |
+
// if role eq 'pending', we halt the authentication and we redirect the user to the appropriate url (pending=activation or pending=approval)
|
747 |
+
if( $role == 'pending' ){
|
748 |
+
// Bouncer::User Moderation : E-mail Confirmation
|
749 |
+
if( $wsl_settings_bouncer_new_users_moderation_level == 101 ){
|
750 |
+
$redirect_to = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "pending=activation";
|
751 |
+
|
752 |
+
// send a new e-mail/activation notification - if TML not enabled, we ensure WSL to keep it quiet
|
753 |
+
@ Theme_My_Login_User_Moderation::new_user_activation_notification( $user_id );
|
754 |
+
}
|
755 |
+
|
756 |
+
// Bouncer::User Moderation : Admin Approval
|
757 |
+
elseif( $wsl_settings_bouncer_new_users_moderation_level == 102 ){
|
758 |
+
$redirect_to = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "pending=approval";
|
759 |
+
}
|
760 |
}
|
761 |
+
# }}} module Bouncer
|
762 |
+
|
763 |
+
// otherwise, we connect the user with in wordpress (we give him a cookie)
|
764 |
else{
|
765 |
+
// HOOKABLE: This action runs just before logging the user in (before creating a WP cookie)
|
766 |
+
do_action( "wsl_hook_process_login_before_wp_set_auth_cookie", $user_id, $provider, $hybridauth_user_profile );
|
767 |
+
|
768 |
+
|
769 |
+
/** IMPORTANT: wsl_hook_process_login_before_set_auth_cookie is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
770 |
+
do_action( 'wsl_hook_process_login_before_set_auth_cookie', $user_id, $provider, $hybridauth_user_profile );
|
771 |
+
/** IMPORTANT: wsl_hook_process_login_before_set_auth_cookie is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
772 |
|
773 |
+
// Set WP auth cookie
|
774 |
+
wp_set_auth_cookie( $user_id, true );
|
775 |
}
|
776 |
|
777 |
+
// HOOKABLE: This action runs just before redirecting the user back to $redirect_to
|
778 |
+
// > Note: If you have enabled User Moderation, then the user is NOT NECESSARILY CONNECTED
|
779 |
+
// > within wordpress at this point (in case the user $role == 'pending').
|
780 |
+
// > To be sure the user is connected, use wsl_hook_process_login_before_wp_set_auth_cookie instead.
|
781 |
+
do_action( "wsl_hook_process_login_before_wp_safe_redirect", $user_id, $provider, $hybridauth_user_profile, $redirect_to );
|
782 |
+
|
783 |
+
|
784 |
+
/** IMPORTANT: wsl_hook_process_login_before_redirect is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
785 |
+
do_action( 'wsl_hook_process_login_before_redirect', $user_id, $provider, $hybridauth_user_profile );
|
786 |
+
/** IMPORTANT: wsl_hook_process_login_before_redirect is DEPRECIATED since WSL 2.2.1 and WILL BE REMOVED, please don't use it. See: http://hybridauth.sourceforge.net/wsl/developer.html */
|
787 |
|
788 |
+
|
789 |
+
// That's it. We done.
|
790 |
wp_safe_redirect( $redirect_to );
|
791 |
|
792 |
+
// for good measures
|
793 |
+
die();
|
794 |
}
|
795 |
|
796 |
// --------------------------------------------------------------------
|
797 |
|
798 |
+
/**
|
799 |
+
* Returns redirect_to (callback url)
|
800 |
+
*
|
801 |
+
* By default, once a user authenticate, he will be automatically redirected to the page where he come from (referer).
|
802 |
+
* If WSL wasn't able to identify the referer url (or if the user come wp-login.php), then they will be redirected to
|
803 |
+
* Widget::Redirect URL instead.
|
804 |
+
*
|
805 |
+
* When Widget::Force redirection is set to Yes, users will be always redirected to Widget::Redirect URL.
|
806 |
+
*
|
807 |
+
* Note: Widget::Redirect URL can be customised using the filter 'wsl_hook_process_login_alter_redirect_to'
|
808 |
+
*/
|
809 |
+
function wsl_process_login_get_redirect_to()
|
810 |
{
|
811 |
+
// force redirection?
|
812 |
+
$wsl_settings_redirect_url = get_option( 'wsl_settings_redirect_url' );
|
813 |
|
814 |
+
if( get_option( 'wsl_settings_force_redirect_url' ) == 1 ){
|
815 |
+
return $wsl_settings_redirect_url;
|
816 |
+
}
|
817 |
|
818 |
+
// get a valid $redirect_to
|
819 |
+
if ( isset( $_REQUEST[ 'redirect_to' ] ) && $_REQUEST[ 'redirect_to' ] != '' ){
|
820 |
+
$redirect_to = $_REQUEST[ 'redirect_to' ];
|
821 |
|
822 |
+
// Redirect to https if user wants ssl
|
823 |
+
if ( isset( $secure_cookie ) && $secure_cookie && false !== strpos( $redirect_to, 'wp-admin') ){
|
824 |
+
$redirect_to = preg_replace( '|^http://|', 'https://', $redirect_to );
|
825 |
+
}
|
826 |
+
|
827 |
+
// we don't go there..
|
828 |
+
if ( strpos( $redirect_to, 'wp-admin') ){
|
829 |
+
$redirect_to = $wsl_settings_redirect_url;
|
830 |
+
}
|
831 |
+
|
832 |
+
// nor there..
|
833 |
+
if ( strpos( $redirect_to, 'wp-login.php') ){
|
834 |
+
$redirect_to = $wsl_settings_redirect_url;
|
835 |
+
}
|
836 |
+
}
|
837 |
+
|
838 |
+
if( empty( $redirect_to ) ){
|
839 |
+
$redirect_to = $wsl_settings_redirect_url;
|
840 |
+
}
|
841 |
+
|
842 |
+
if( empty( $redirect_to ) ){
|
843 |
+
$redirect_to = site_url();
|
844 |
+
}
|
845 |
+
|
846 |
+
return $redirect_to;
|
847 |
+
}
|
848 |
+
|
849 |
+
// --------------------------------------------------------------------
|
850 |
+
|
851 |
+
/**
|
852 |
+
* Display an error message in case user authentication fails
|
853 |
+
*/
|
854 |
+
function wsl_process_login_render_error_page( $e, $config, $hybridauth, $provider, $adapter )
|
855 |
+
{
|
856 |
+
// HOOKABLE:
|
857 |
+
do_action( "wsl_process_login_render_error_page", $e, $config, $hybridauth, $provider, $adapter );
|
858 |
+
|
859 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
860 |
+
|
861 |
+
$message = _wsl__("Unspecified error!", 'wordpress-social-login');
|
862 |
+
$notes = "";
|
863 |
|
864 |
+
switch( $e->getCode() ){
|
865 |
+
case 0 : $message = _wsl__("Unspecified error.", 'wordpress-social-login'); break;
|
866 |
+
case 1 : $message = _wsl__("WordPress Social Login is not properly configured.", 'wordpress-social-login'); break;
|
867 |
+
case 2 : $message = sprintf( __wsl__("WordPress Social Login is not properly configured.<br /> <b>%s</b> need to be properly configured.", 'wordpress-social-login'), $provider ); break;
|
868 |
+
case 3 : $message = _wsl__("Unknown or disabled provider.", 'wordpress-social-login'); break;
|
869 |
+
case 4 : $message = sprintf( _wsl__("WordPress Social Login is not properly configured.<br /> <b>%s</b> requires your application credentials.", 'wordpress-social-login'), $provider );
|
870 |
+
$notes = sprintf( _wsl__("<b>What does this error mean ?</b><br />Most likely, you didn't setup the correct application credentials for this provider. These credentials are required in order for <b>%s</b> users to access your website and for WordPress Social Login to work.", 'wordpress-social-login'), $provider ) . _wsl__('<br />Instructions for use can be found in the <a href="http://hybridauth.sourceforge.net/wsl/configure.html" target="_blank">User Manual</a>.', 'wordpress-social-login');
|
871 |
+
break;
|
872 |
+
case 5 : $message = sprintf( _wsl__("Authentication failed. Either you have cancelled the authentication or <b>%s</b> refused the connection.", 'wordpress-social-login'), $provider ); break;
|
873 |
+
case 6 : $message = sprintf( _wsl__("Request failed. Either you have cancelled the authentication or <b>%s</b> refused the connection.", 'wordpress-social-login'), $provider ); break;
|
874 |
+
case 7 : $message = _wsl__("You're not connected to the provider.", 'wordpress-social-login'); break;
|
875 |
+
case 8 : $message = _wsl__("Provider does not support this feature.", 'wordpress-social-login'); break;
|
876 |
+
|
877 |
+
case 9 : $message = $e->getMessage(); break;
|
878 |
+
}
|
879 |
+
|
880 |
+
if( is_object( $adapter ) ){
|
881 |
+
$adapter->logout();
|
882 |
+
}
|
883 |
+
|
884 |
+
$_SESSION = array();
|
885 |
+
|
886 |
+
@ session_destroy();
|
887 |
+
|
888 |
+
return wsl_render_error_page( $message, $notes, $e, array( $config, $hybridauth, $provider, $adapter ) );
|
889 |
+
}
|
890 |
+
|
891 |
+
|
892 |
+
// --------------------------------------------------------------------
|
893 |
+
|
894 |
+
/**
|
895 |
+
* Display an notice message
|
896 |
+
*/
|
897 |
+
function wsl_process_login_render_notice_page( $message )
|
898 |
+
{
|
899 |
+
// HOOKABLE:
|
900 |
+
do_action( "wsl_process_login_render_notice_page", $message );
|
901 |
+
|
902 |
+
return wsl_render_notice_page( $message );
|
903 |
+
}
|
904 |
+
|
905 |
+
// --------------------------------------------------------------------
|
906 |
+
|
907 |
+
/**
|
908 |
+
* Returns the selected provider from _REQUEST
|
909 |
+
*/
|
910 |
+
function wsl_process_login_get_selected_provider()
|
911 |
+
{
|
912 |
+
return ( isset( $_REQUEST["provider"] ) ? sanitize_text_field( $_REQUEST["provider"] ) : null );
|
913 |
}
|
914 |
|
915 |
// --------------------------------------------------------------------
|
includes/services/wsl.mail.notification.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
@@ -16,8 +16,9 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
16 |
// --------------------------------------------------------------------
|
17 |
|
18 |
/**
|
19 |
-
*
|
20 |
-
*
|
|
|
21 |
*/
|
22 |
function wsl_admin_notification( $user_id, $provider )
|
23 |
{
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
16 |
// --------------------------------------------------------------------
|
17 |
|
18 |
/**
|
19 |
+
* Send a notification to blog administrator when a new user register using WSL
|
20 |
+
*
|
21 |
+
* also borrowed from http://wordpress.org/extend/plugins/oa-social-login/
|
22 |
*/
|
23 |
function wsl_admin_notification( $user_id, $provider )
|
24 |
{
|
includes/services/wsl.user.avatar.php
CHANGED
@@ -3,75 +3,142 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
-
* Displaying the user avatar when available on the comment section
|
|
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
14 |
-
if
|
15 |
|
16 |
// --------------------------------------------------------------------
|
17 |
|
18 |
/**
|
19 |
-
|
20 |
-
|
21 |
-
*/
|
22 |
function wsl_user_custom_avatar($avatar, $mixed, $size, $default, $alt)
|
23 |
{
|
24 |
//Check if avatars are enabled
|
25 |
-
if( get_option
|
26 |
{
|
27 |
-
|
28 |
-
|
29 |
|
30 |
-
|
31 |
-
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
35 |
{
|
36 |
-
|
37 |
-
{
|
38 |
-
$user_id = $mixed;
|
39 |
-
}
|
40 |
}
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
{
|
44 |
-
$user_id = $
|
45 |
}
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
{
|
49 |
-
$
|
50 |
}
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
{
|
54 |
-
|
|
|
55 |
{
|
56 |
-
$
|
57 |
-
}
|
58 |
-
}
|
59 |
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
}
|
70 |
-
}
|
71 |
|
72 |
-
return $
|
73 |
}
|
74 |
|
75 |
-
add_filter( '
|
76 |
|
77 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
+
* Displaying the user avatar when available on the comment section and top bar
|
11 |
+
*
|
12 |
+
* These functions are borrowed from http://wordpress.org/extend/plugins/oa-social-login/
|
13 |
*/
|
14 |
|
15 |
// Exit if accessed directly
|
16 |
+
if( !defined( 'ABSPATH' ) ) exit;
|
17 |
|
18 |
// --------------------------------------------------------------------
|
19 |
|
20 |
/**
|
21 |
+
* Display users avatars from social networks when available
|
22 |
+
*/
|
|
|
23 |
function wsl_user_custom_avatar($avatar, $mixed, $size, $default, $alt)
|
24 |
{
|
25 |
//Check if avatars are enabled
|
26 |
+
if( ! get_option( 'wsl_settings_users_avatars' ) )
|
27 |
{
|
28 |
+
return $avatar;
|
29 |
+
}
|
30 |
|
31 |
+
//Current comment
|
32 |
+
global $comment;
|
33 |
|
34 |
+
//Chosen user
|
35 |
+
$user_id = null;
|
36 |
+
|
37 |
+
//Check if we have an user identifier
|
38 |
+
if(is_numeric($mixed))
|
39 |
+
{
|
40 |
+
if($mixed > 0)
|
41 |
{
|
42 |
+
$user_id = $mixed;
|
|
|
|
|
|
|
43 |
}
|
44 |
+
}
|
45 |
+
|
46 |
+
//Check if we are in a comment
|
47 |
+
elseif(is_object($comment) AND property_exists($comment, 'user_id') AND !empty($comment->user_id))
|
48 |
+
{
|
49 |
+
$user_id = $comment->user_id;
|
50 |
+
}
|
51 |
+
|
52 |
+
//Check if we have an email
|
53 |
+
elseif(is_string($mixed) &&($user = get_user_by('email', $mixed)))
|
54 |
+
{
|
55 |
+
$user_id = $user->ID;
|
56 |
+
}
|
57 |
+
|
58 |
+
//Check if we have an user object
|
59 |
+
else if(is_object($mixed))
|
60 |
+
{
|
61 |
+
if(property_exists($mixed, 'user_id') AND is_numeric($mixed->user_id))
|
62 |
{
|
63 |
+
$user_id = $mixed->user_id;
|
64 |
}
|
65 |
+
}
|
66 |
+
|
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 |
{
|
74 |
+
return '<img src="' . $user_thumbnail . '" class="avatar avatar-wordpress-social-login avatar-' . $size . ' photo" height="' . $size . '" width="' . $size . '" />';
|
75 |
}
|
76 |
+
}
|
77 |
+
|
78 |
+
return $avatar;
|
79 |
+
}
|
80 |
+
|
81 |
+
add_filter( 'get_avatar', 'wsl_user_custom_avatar', 10, 5 );
|
82 |
+
|
83 |
+
// --------------------------------------------------------------------
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Display users avatars from social networks on buddypress
|
87 |
+
*/
|
88 |
+
function wsl_bp_user_custom_avatar($text, $args)
|
89 |
+
{
|
90 |
+
//Buddypress component should be enabled
|
91 |
+
if( ! wsl_is_component_enabled( 'buddypress' ) ){
|
92 |
+
return $text;
|
93 |
+
}
|
94 |
+
|
95 |
+
//Check if avatars display is enabled
|
96 |
+
if( ! get_option( 'wsl_settings_users_avatars' ) )
|
97 |
+
{
|
98 |
+
return $text;
|
99 |
+
}
|
100 |
+
|
101 |
+
//Check arguments
|
102 |
+
if(is_array($args))
|
103 |
+
{
|
104 |
+
//User Object
|
105 |
+
if( ! empty( $args['object'] ) AND strtolower( $args ['object'] ) == 'user' )
|
106 |
{
|
107 |
+
//User Identifier
|
108 |
+
if( ! empty( $args ['item_id'] ) AND is_numeric( $args ['item_id'] ) )
|
109 |
{
|
110 |
+
$user_data = get_userdata( $args ['item_id'] );
|
|
|
|
|
111 |
|
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)
|
119 |
+
{
|
120 |
+
//Thumbnail retrieved
|
121 |
+
if( strlen( trim( $user_thumbnail ) ) > 0 )
|
122 |
+
{
|
123 |
+
//Build Image tags
|
124 |
+
$img_alt = "";
|
125 |
+
|
126 |
+
$img_class = ('class="' .(!empty($args ['class']) ?($args ['class'] . ' ') : '') . 'avatar-wordpress-social-login" ');
|
127 |
+
$img_width = (!empty($args ['width']) ? 'width="' . $args ['width'] . '" ' : '');
|
128 |
+
$img_height = (!empty($args ['height']) ? 'height="' . $args ['height'] . '" ' : '');
|
129 |
+
|
130 |
+
//Replace
|
131 |
+
$text = preg_replace('#<img[^>]+>#i', '<img src="' . $user_thumbnail . '" ' . $img_alt . $img_class . $img_height . $img_width . '/>', $text);
|
132 |
+
}
|
133 |
+
}
|
134 |
+
}
|
135 |
}
|
136 |
}
|
137 |
+
}
|
138 |
|
139 |
+
return $text;
|
140 |
}
|
141 |
|
142 |
+
add_filter( 'bp_core_fetch_avatar', 'wsl_bp_user_custom_avatar', 10, 2 );
|
143 |
|
144 |
// --------------------------------------------------------------------
|
includes/services/wsl.user.data.php
CHANGED
@@ -3,11 +3,13 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* User data functions (database related)
|
|
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -15,111 +17,202 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
15 |
|
16 |
// --------------------------------------------------------------------
|
17 |
|
18 |
-
|
19 |
-
* Return all user prodile stored on wslusersprofiles
|
20 |
-
*/
|
21 |
-
function wsl_get_user_linked_account_by_user_id( $user_id )
|
22 |
{
|
23 |
global $wpdb;
|
24 |
|
25 |
-
$sql = "SELECT * FROM `{$wpdb->prefix}
|
26 |
-
$rs = $wpdb->get_results( $sql );
|
27 |
|
28 |
-
return $
|
29 |
}
|
30 |
|
31 |
// --------------------------------------------------------------------
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
global $wpdb;
|
38 |
|
39 |
-
$sql = "SELECT
|
40 |
-
$rs = $wpdb->get_results( $sql );
|
41 |
|
42 |
-
return $
|
43 |
}
|
44 |
|
45 |
// --------------------------------------------------------------------
|
46 |
|
47 |
-
function
|
48 |
{
|
49 |
global $wpdb;
|
50 |
|
51 |
-
$sql = "SELECT
|
52 |
|
53 |
-
return $wpdb->get_var( $wpdb->prepare( $sql, $
|
54 |
}
|
55 |
|
56 |
// --------------------------------------------------------------------
|
57 |
|
58 |
-
function
|
59 |
{
|
60 |
global $wpdb;
|
61 |
|
62 |
-
$sql = "SELECT
|
63 |
|
64 |
-
return $wpdb->
|
65 |
}
|
66 |
|
67 |
// --------------------------------------------------------------------
|
68 |
|
69 |
-
function
|
70 |
{
|
71 |
global $wpdb;
|
72 |
|
73 |
-
$sql = "SELECT
|
74 |
-
$rs = $wpdb->get_results( $sql );
|
75 |
|
76 |
-
return $
|
77 |
}
|
78 |
|
79 |
// --------------------------------------------------------------------
|
80 |
|
81 |
-
function
|
82 |
{
|
83 |
global $wpdb;
|
84 |
|
85 |
-
$sql = "SELECT
|
86 |
-
$rs = $wpdb->get_results( $sql );
|
87 |
|
88 |
-
$
|
|
|
|
|
|
|
89 |
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
return;
|
93 |
}
|
94 |
|
95 |
$table_data = array(
|
|
|
96 |
"user_id" => $user_id,
|
97 |
"provider" => $provider,
|
98 |
-
"object_sha" => $
|
99 |
);
|
100 |
|
101 |
-
|
102 |
-
$table_data[
|
103 |
}
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
|
|
|
|
112 |
}
|
113 |
|
114 |
// --------------------------------------------------------------------
|
115 |
|
116 |
-
|
117 |
-
* Contacts import
|
118 |
-
*
|
119 |
-
* We import a user contact per provider only once.
|
120 |
-
*/
|
121 |
-
function wsl_import_user_contacts( $provider, $adapter, $user_id )
|
122 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
if( ! (
|
124 |
get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ||
|
125 |
get_option( 'wsl_settings_contacts_import_google' ) == 1 && strtolower( $provider ) == "google" ||
|
@@ -130,20 +223,31 @@ function wsl_import_user_contacts( $provider, $adapter, $user_id )
|
|
130 |
return;
|
131 |
}
|
132 |
|
133 |
-
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
// grab the user's friends list
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
|
|
139 |
if( ! $user_contacts ){
|
140 |
return;
|
141 |
}
|
142 |
|
143 |
-
$wpdb->query(
|
144 |
-
$wpdb->prepare( "DELETE FROM `{$wpdb->prefix}wsluserscontacts` WHERE user_id = '%d' AND provider = '%s'", $user_id, $provider )
|
145 |
-
);
|
146 |
-
|
147 |
foreach( $user_contacts as $contact ){
|
148 |
$wpdb->insert(
|
149 |
"{$wpdb->prefix}wsluserscontacts",
|
@@ -162,96 +266,102 @@ function wsl_import_user_contacts( $provider, $adapter, $user_id )
|
|
162 |
|
163 |
// --------------------------------------------------------------------
|
164 |
|
165 |
-
function
|
166 |
{
|
167 |
-
//
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
$config = array();
|
173 |
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
}
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
return Hybrid_Auth::getConnectedProviders();
|
183 |
-
}
|
184 |
-
|
185 |
-
// --------------------------------------------------------------------
|
186 |
-
|
187 |
-
function wsl_get_user_linked_accounts_by_user_id( $user_id )
|
188 |
-
{
|
189 |
-
global $wpdb;
|
190 |
-
|
191 |
-
$sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` where user_id = '$user_id'";
|
192 |
-
$rs = $wpdb->get_results( $sql );
|
193 |
-
|
194 |
-
return $rs;
|
195 |
-
}
|
196 |
-
|
197 |
-
// --------------------------------------------------------------------
|
198 |
-
|
199 |
-
function wsl_get_user_linked_accounts_field_by_id( $id, $field )
|
200 |
-
{
|
201 |
-
global $wpdb;
|
202 |
-
|
203 |
-
$sql = "SELECT $field as data_field FROM `{$wpdb->prefix}wslusersprofiles` where id = '$id'";
|
204 |
-
$rs = $wpdb->get_results( $sql );
|
205 |
-
|
206 |
-
return $rs[0]->data_field;
|
207 |
-
}
|
208 |
-
|
209 |
-
// --------------------------------------------------------------------
|
210 |
-
|
211 |
-
function wsl_get_user_by_meta_key_and_user_id( $meta_key, $user_id )
|
212 |
-
{
|
213 |
-
global $wpdb;
|
214 |
-
|
215 |
-
$sql = "SELECT meta_value FROM `{$wpdb->prefix}usermeta` where meta_key = '$meta_key' and user_id = '$user_id'";
|
216 |
-
$rs = $wpdb->get_results( $sql );
|
217 |
-
|
218 |
-
return $rs[0]->meta_value;
|
219 |
-
}
|
220 |
-
|
221 |
-
// --------------------------------------------------------------------
|
222 |
-
|
223 |
-
function wsl_get_user_data_by_user_id( $field, $user_id )
|
224 |
-
{
|
225 |
-
global $wpdb;
|
226 |
|
227 |
-
|
228 |
-
|
|
|
229 |
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
}
|
232 |
|
233 |
// --------------------------------------------------------------------
|
234 |
|
235 |
-
function
|
236 |
{
|
237 |
global $wpdb;
|
238 |
|
239 |
-
$sql = "DELETE FROM `{$wpdb->prefix}wslusersprofiles` where user_id =
|
240 |
-
$wpdb->query( $sql );
|
241 |
-
}
|
242 |
-
|
243 |
-
add_action( 'delete_user', 'wsl_delete_userprofiles' );
|
244 |
|
245 |
-
|
246 |
-
|
247 |
-
function wsl_delete_usercontacts( $user_id )
|
248 |
-
{
|
249 |
-
global $wpdb;
|
250 |
|
251 |
-
|
252 |
-
|
253 |
}
|
254 |
|
255 |
-
add_action( 'delete_user', '
|
256 |
|
257 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* User data functions (database related)
|
11 |
+
*
|
12 |
+
* This code is loosely commented: functions names should be self-explanatory.
|
13 |
*/
|
14 |
|
15 |
// Exit if accessed directly
|
17 |
|
18 |
// --------------------------------------------------------------------
|
19 |
|
20 |
+
function wsl_get_wordpess_users_count()
|
|
|
|
|
|
|
21 |
{
|
22 |
global $wpdb;
|
23 |
|
24 |
+
$sql = "SELECT COUNT( * ) AS items FROM `{$wpdb->prefix}users`";
|
|
|
25 |
|
26 |
+
return $wpdb->get_var( $sql );
|
27 |
}
|
28 |
|
29 |
// --------------------------------------------------------------------
|
30 |
|
31 |
+
function wsl_get_wsl_users_count()
|
32 |
+
{
|
33 |
+
global $wpdb;
|
34 |
+
|
35 |
+
$sql = "SELECT COUNT( distinct user_id ) AS items FROM `{$wpdb->prefix}wslusersprofiles`";
|
36 |
+
|
37 |
+
return $wpdb->get_var( $sql );
|
38 |
+
}
|
39 |
+
|
40 |
+
// --------------------------------------------------------------------
|
41 |
+
|
42 |
+
function wsl_get_stored_hybridauth_user_profiles_count()
|
43 |
+
{
|
44 |
+
global $wpdb;
|
45 |
+
|
46 |
+
$sql = "SELECT COUNT(`id`) FROM `{$wpdb->prefix}wslusersprofiles`";
|
47 |
+
|
48 |
+
return $wpdb->get_var( $sql );
|
49 |
+
}
|
50 |
+
|
51 |
+
// --------------------------------------------------------------------
|
52 |
+
|
53 |
+
function wsl_get_stored_hybridauth_user_profiles_count_by_field( $field )
|
54 |
+
{
|
55 |
+
global $wpdb;
|
56 |
+
|
57 |
+
$sql = "SELECT $field, COUNT( * ) AS items FROM `{$wpdb->prefix}wslusersprofiles` GROUP BY $field ORDER BY items DESC";
|
58 |
+
|
59 |
+
return $wpdb->get_results( $sql );
|
60 |
+
}
|
61 |
+
|
62 |
+
// --------------------------------------------------------------------
|
63 |
+
|
64 |
+
function wsl_get_stored_hybridauth_user_profiles_grouped_by_user_id( $offset, $limit )
|
65 |
+
{
|
66 |
global $wpdb;
|
67 |
|
68 |
+
$sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` GROUP BY user_id LIMIT %d, %d";
|
|
|
69 |
|
70 |
+
return $wpdb->get_results( $wpdb->prepare( $sql, $offset, $limit ) );
|
71 |
}
|
72 |
|
73 |
// --------------------------------------------------------------------
|
74 |
|
75 |
+
function wsl_get_stored_hybridauth_user_contacts_count_by_user_id( $user_id )
|
76 |
{
|
77 |
global $wpdb;
|
78 |
|
79 |
+
$sql = "SELECT COUNT( * ) FROM `{$wpdb->prefix}wsluserscontacts` where user_id = %d";
|
80 |
|
81 |
+
return $wpdb->get_var( $wpdb->prepare( $sql, $user_id ) );
|
82 |
}
|
83 |
|
84 |
// --------------------------------------------------------------------
|
85 |
|
86 |
+
function wsl_get_stored_hybridauth_user_contacts_by_user_id( $user_id, $offset, $limit )
|
87 |
{
|
88 |
global $wpdb;
|
89 |
|
90 |
+
$sql = "SELECT * FROM `{$wpdb->prefix}wsluserscontacts` where user_id = %d LIMIT %d, %d";
|
91 |
|
92 |
+
return $wpdb->get_results( $wpdb->prepare( $sql, $user_id, $offset, $limit ) );
|
93 |
}
|
94 |
|
95 |
// --------------------------------------------------------------------
|
96 |
|
97 |
+
function wsl_get_stored_hybridauth_user_id_by_provider_and_provider_uid( $provider, $provider_uid )
|
98 |
{
|
99 |
global $wpdb;
|
100 |
|
101 |
+
$sql = "SELECT user_id FROM `{$wpdb->prefix}wslusersprofiles` WHERE provider = %s AND identifier = %s";
|
|
|
102 |
|
103 |
+
return $wpdb->get_var( $wpdb->prepare( $sql, $provider, $provider_uid ) );
|
104 |
}
|
105 |
|
106 |
// --------------------------------------------------------------------
|
107 |
|
108 |
+
function wsl_get_stored_hybridauth_user_profile_by_provider_and_provider_uid( $provider, $provider_uid )
|
109 |
{
|
110 |
global $wpdb;
|
111 |
|
112 |
+
$sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` WHERE provider = %s AND identifier = %s";
|
|
|
113 |
|
114 |
+
return $wpdb->get_results( $wpdb->prepare( $sql, $provider, $provider_uid ) );
|
115 |
+
}
|
116 |
+
|
117 |
+
// --------------------------------------------------------------------
|
118 |
|
119 |
+
function wsl_get_stored_hybridauth_user_profile_id_by_provider_and_provider_uid( $provider, $provider_uid )
|
120 |
+
{
|
121 |
+
global $wpdb;
|
122 |
+
|
123 |
+
$sql = "SELECT id FROM `{$wpdb->prefix}wslusersprofiles` WHERE provider = '%s' AND identifier = '%s'";
|
124 |
+
|
125 |
+
return $wpdb->get_results( $wpdb->prepare( $sql, $provider, $provider_uid ) );
|
126 |
+
}
|
127 |
+
|
128 |
+
// --------------------------------------------------------------------
|
129 |
+
|
130 |
+
function wsl_get_stored_hybridauth_user_profiles_by_user_id( $user_id )
|
131 |
+
{
|
132 |
+
global $wpdb;
|
133 |
+
|
134 |
+
$sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` where user_id = %d";
|
135 |
+
|
136 |
+
return $wpdb->get_results( $wpdb->prepare( $sql, $user_id ) );
|
137 |
+
}
|
138 |
+
|
139 |
+
// --------------------------------------------------------------------
|
140 |
+
|
141 |
+
function wsl_store_hybridauth_user_profile( $user_id, $provider, $profile )
|
142 |
+
{
|
143 |
+
global $wpdb;
|
144 |
+
|
145 |
+
$wpdb->show_errors();
|
146 |
+
|
147 |
+
$sql = "SELECT id, object_sha FROM `{$wpdb->prefix}wslusersprofiles` where user_id = %d and provider = %s";
|
148 |
+
|
149 |
+
$rs = $wpdb->get_results( $wpdb->prepare( $sql, $user_id, $provider ) );
|
150 |
+
|
151 |
+
// we only sotre the user profile if it has change since last login.
|
152 |
+
$object_sha = sha1( serialize( $profile ) );
|
153 |
+
|
154 |
+
// checksum
|
155 |
+
if( ! empty( $rs ) && $rs[0]->object_sha == $object_sha ){
|
156 |
return;
|
157 |
}
|
158 |
|
159 |
$table_data = array(
|
160 |
+
"id" => 'null',
|
161 |
"user_id" => $user_id,
|
162 |
"provider" => $provider,
|
163 |
+
"object_sha" => $object_sha
|
164 |
);
|
165 |
|
166 |
+
if( ! empty( $rs ) ){
|
167 |
+
$table_data['id'] = $rs[0]->id;
|
168 |
}
|
169 |
|
170 |
+
$fields = array(
|
171 |
+
'identifier',
|
172 |
+
'profileurl',
|
173 |
+
'websiteurl',
|
174 |
+
'photourl',
|
175 |
+
'displayname',
|
176 |
+
'description',
|
177 |
+
'firstname',
|
178 |
+
'lastname',
|
179 |
+
'gender',
|
180 |
+
'language',
|
181 |
+
'age',
|
182 |
+
'birthday',
|
183 |
+
'birthmonth',
|
184 |
+
'birthyear',
|
185 |
+
'email',
|
186 |
+
'emailverified',
|
187 |
+
'phone',
|
188 |
+
'address',
|
189 |
+
'country',
|
190 |
+
'region',
|
191 |
+
'city',
|
192 |
+
'zip'
|
193 |
+
);
|
194 |
+
|
195 |
+
foreach( $profile as $key => $value ) {
|
196 |
+
$key = strtolower($key);
|
197 |
+
|
198 |
+
if( in_array( $key, $fields ) ){
|
199 |
+
$table_data[ $key ] = (string) $value;
|
200 |
+
}
|
201 |
}
|
202 |
+
|
203 |
+
$rs = $wpdb->replace( "{$wpdb->prefix}wslusersprofiles", $table_data );
|
204 |
}
|
205 |
|
206 |
// --------------------------------------------------------------------
|
207 |
|
208 |
+
function wsl_store_hybridauth_user_contacts( $user_id, $provider, $adapter )
|
|
|
|
|
|
|
|
|
|
|
209 |
{
|
210 |
+
// component contact should be enabled
|
211 |
+
if( ! wsl_is_component_enabled( 'contacts' ) ){
|
212 |
+
return;
|
213 |
+
}
|
214 |
+
|
215 |
+
// check if import is enabled for the given provider
|
216 |
if( ! (
|
217 |
get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ||
|
218 |
get_option( 'wsl_settings_contacts_import_google' ) == 1 && strtolower( $provider ) == "google" ||
|
223 |
return;
|
224 |
}
|
225 |
|
226 |
+
global $wpdb;
|
227 |
+
|
228 |
+
$user_contacts = null;
|
229 |
+
|
230 |
+
// we only import contacts once
|
231 |
+
$sql = "SELECT COUNT(`id`) FROM {$wpdb->prefix}wsluserscontacts WHERE user_id = %d AND provider = %s ";
|
232 |
+
|
233 |
+
$nb_contacts = $wpdb->get_var( $wpdb->prepare( $sql, $user_id, $provider ) );
|
234 |
+
|
235 |
+
if( $nb_contacts ){
|
236 |
+
return;
|
237 |
+
}
|
238 |
|
239 |
// grab the user's friends list
|
240 |
+
try{
|
241 |
+
$user_contacts = $adapter->getUserContacts();
|
242 |
+
}
|
243 |
+
catch( Exception $e ){
|
244 |
+
// well.. we can't do much.
|
245 |
+
}
|
246 |
+
|
247 |
if( ! $user_contacts ){
|
248 |
return;
|
249 |
}
|
250 |
|
|
|
|
|
|
|
|
|
251 |
foreach( $user_contacts as $contact ){
|
252 |
$wpdb->insert(
|
253 |
"{$wpdb->prefix}wsluserscontacts",
|
266 |
|
267 |
// --------------------------------------------------------------------
|
268 |
|
269 |
+
function wsl_buddypress_xprofile_mapping( $user_id, $provider, $hybridauth_user_profile )
|
270 |
{
|
271 |
+
// component Buddypress should be enabled
|
272 |
+
if( ! wsl_is_component_enabled( 'buddypress' ) ){
|
273 |
+
return;
|
274 |
+
}
|
|
|
|
|
275 |
|
276 |
+
// make sure buddypress is loaded.
|
277 |
+
// > is this a legit way to check?
|
278 |
+
if( ! function_exists( 'xprofile_set_field_data' ) ){
|
279 |
+
return;
|
280 |
}
|
281 |
|
282 |
+
// check if profiles mapping is enabled
|
283 |
+
$wsl_settings_buddypress_enable_mapping = get_option( 'wsl_settings_buddypress_enable_mapping' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
|
285 |
+
if( $wsl_settings_buddypress_enable_mapping != 1 ){
|
286 |
+
return;
|
287 |
+
}
|
288 |
|
289 |
+
// get current mapping
|
290 |
+
$wsl_settings_buddypress_xprofile_map = get_option( 'wsl_settings_buddypress_xprofile_map' );
|
291 |
+
|
292 |
+
$hybridauth_fields = array(
|
293 |
+
'identifier' ,
|
294 |
+
'profileURL' ,
|
295 |
+
'webSiteURL' ,
|
296 |
+
'photoURL' ,
|
297 |
+
'displayName' ,
|
298 |
+
'description' ,
|
299 |
+
'firstName' ,
|
300 |
+
'lastName' ,
|
301 |
+
'gender' ,
|
302 |
+
'language' ,
|
303 |
+
'age' ,
|
304 |
+
'birthDay' ,
|
305 |
+
'birthMonth' ,
|
306 |
+
'birthYear' ,
|
307 |
+
'email' ,
|
308 |
+
'phone' ,
|
309 |
+
'address' ,
|
310 |
+
'country' ,
|
311 |
+
'region' ,
|
312 |
+
'city' ,
|
313 |
+
'zip' ,
|
314 |
+
);
|
315 |
+
|
316 |
+
$hybridauth_user_profile = (array) $hybridauth_user_profile;
|
317 |
+
|
318 |
+
// all check: start mapping process
|
319 |
+
if( $wsl_settings_buddypress_xprofile_map ){
|
320 |
+
foreach( $wsl_settings_buddypress_xprofile_map as $buddypress_field_id => $field_name ){
|
321 |
+
// if data can be found in hybridauth profile
|
322 |
+
if( in_array( $field_name, $hybridauth_fields ) ){
|
323 |
+
$value = $hybridauth_user_profile[ $field_name ];
|
324 |
+
|
325 |
+
xprofile_set_field_data( $buddypress_field_id, $user_id, $value );
|
326 |
+
}
|
327 |
+
|
328 |
+
// if eq provider
|
329 |
+
if( $field_name == 'provider' ){
|
330 |
+
xprofile_set_field_data( $buddypress_field_id, $user_id, $provider );
|
331 |
+
}
|
332 |
+
|
333 |
+
// if eq birthDate
|
334 |
+
if( $field_name == 'birthDate' ){
|
335 |
+
$value =
|
336 |
+
str_pad( (int) $hybridauth_user_profile[ 'birthYear' ], 4, '0', STR_PAD_LEFT )
|
337 |
+
. '-' .
|
338 |
+
str_pad( (int) $hybridauth_user_profile[ 'birthMonth' ], 2, '0', STR_PAD_LEFT )
|
339 |
+
. '-' .
|
340 |
+
str_pad( (int) $hybridauth_user_profile[ 'birthDay' ], 2, '0', STR_PAD_LEFT )
|
341 |
+
. ' 00:00:00';
|
342 |
+
|
343 |
+
xprofile_set_field_data( $buddypress_field_id, $user_id, $value );
|
344 |
+
}
|
345 |
+
}
|
346 |
+
}
|
347 |
}
|
348 |
|
349 |
// --------------------------------------------------------------------
|
350 |
|
351 |
+
function wsl_delete_stored_hybridauth_user_data( $user_id )
|
352 |
{
|
353 |
global $wpdb;
|
354 |
|
355 |
+
$sql = "DELETE FROM `{$wpdb->prefix}wslusersprofiles` where user_id = %d";
|
356 |
+
$wpdb->query( $wpdb->prepare( $sql, $user_id ) );
|
|
|
|
|
|
|
357 |
|
358 |
+
$sql = "DELETE FROM `{$wpdb->prefix}wsluserscontacts` where user_id = %d";
|
359 |
+
$wpdb->query( $wpdb->prepare( $sql, $user_id ) );
|
|
|
|
|
|
|
360 |
|
361 |
+
delete_user_meta( $user_id, 'wsl_current_provider' );
|
362 |
+
delete_user_meta( $user_id, 'wsl_current_user_image' );
|
363 |
}
|
364 |
|
365 |
+
add_action( 'delete_user', 'wsl_delete_stored_hybridauth_user_data' );
|
366 |
|
367 |
// --------------------------------------------------------------------
|
includes/services/wsl.utilities.php
ADDED
@@ -0,0 +1,385 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Few utilities and functions
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Return the current used WSL version
|
20 |
+
*/
|
21 |
+
function wsl_get_version()
|
22 |
+
{
|
23 |
+
global $WORDPRESS_SOCIAL_LOGIN_VERSION;
|
24 |
+
|
25 |
+
return $WORDPRESS_SOCIAL_LOGIN_VERSION;
|
26 |
+
}
|
27 |
+
|
28 |
+
// --------------------------------------------------------------------
|
29 |
+
|
30 |
+
/**
|
31 |
+
* _e() wrapper
|
32 |
+
*
|
33 |
+
* This function was used for the localization widget to generate translations per page.
|
34 |
+
*
|
35 |
+
* kept for compatibility.
|
36 |
+
*/
|
37 |
+
function _wsl_e( $text, $domain )
|
38 |
+
{
|
39 |
+
echo __( $text, $domain );
|
40 |
+
}
|
41 |
+
|
42 |
+
// --------------------------------------------------------------------
|
43 |
+
|
44 |
+
/**
|
45 |
+
* __() wrapper
|
46 |
+
*
|
47 |
+
* This function was used for the localization widget to generate translations per page.
|
48 |
+
*
|
49 |
+
* kept for compatibility.
|
50 |
+
*/
|
51 |
+
function _wsl__( $text, $domain )
|
52 |
+
{
|
53 |
+
return __( $text, $domain );
|
54 |
+
}
|
55 |
+
|
56 |
+
// --------------------------------------------------------------------
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Check if the current connection is being made over https
|
60 |
+
*
|
61 |
+
* Borrowed from http://wordpress.org/extend/plugins/oa-social-login/
|
62 |
+
*/
|
63 |
+
function wsl_is_https_on()
|
64 |
+
{
|
65 |
+
if (!empty ($_SERVER ['SERVER_PORT']))
|
66 |
+
{
|
67 |
+
if (trim ($_SERVER ['SERVER_PORT']) == '443')
|
68 |
+
{
|
69 |
+
return true;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
if (!empty ($_SERVER ['HTTP_X_FORWARDED_PROTO']))
|
74 |
+
{
|
75 |
+
if (strtolower (trim ($_SERVER ['HTTP_X_FORWARDED_PROTO'])) == 'https')
|
76 |
+
{
|
77 |
+
return true;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
if (!empty ($_SERVER ['HTTPS']))
|
82 |
+
{
|
83 |
+
if (strtolower (trim ($_SERVER ['HTTPS'])) == 'on' OR trim ($_SERVER ['HTTPS']) == '1')
|
84 |
+
{
|
85 |
+
return true;
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
return false;
|
90 |
+
}
|
91 |
+
|
92 |
+
// --------------------------------------------------------------------
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Return the current url
|
96 |
+
*
|
97 |
+
* Borrowed from http://wordpress.org/extend/plugins/oa-social-login/
|
98 |
+
*/
|
99 |
+
function wsl_get_current_url()
|
100 |
+
{
|
101 |
+
//Extract parts
|
102 |
+
$request_uri = (isset ($_SERVER ['REQUEST_URI']) ? $_SERVER ['REQUEST_URI'] : $_SERVER ['PHP_SELF']);
|
103 |
+
$request_protocol = (wsl_is_https_on () ? 'https' : 'http');
|
104 |
+
$request_host = (isset ($_SERVER ['HTTP_X_FORWARDED_HOST']) ? $_SERVER ['HTTP_X_FORWARDED_HOST'] : (isset ($_SERVER ['HTTP_HOST']) ? $_SERVER ['HTTP_HOST'] : $_SERVER ['SERVER_NAME']));
|
105 |
+
|
106 |
+
//Port of this request
|
107 |
+
$request_port = '';
|
108 |
+
|
109 |
+
//We are using a proxy
|
110 |
+
if (isset ($_SERVER ['HTTP_X_FORWARDED_PORT']))
|
111 |
+
{
|
112 |
+
// SERVER_PORT is usually wrong on proxies, don't use it!
|
113 |
+
$request_port = intval ($_SERVER ['HTTP_X_FORWARDED_PORT']);
|
114 |
+
}
|
115 |
+
//Does not seem like a proxy
|
116 |
+
elseif (isset ($_SERVER ['SERVER_PORT']))
|
117 |
+
{
|
118 |
+
$request_port = intval ($_SERVER ['SERVER_PORT']);
|
119 |
+
}
|
120 |
+
|
121 |
+
// Remove standard ports
|
122 |
+
$request_port = (!in_array ($request_port, array (80, 443)) ? $request_port : '');
|
123 |
+
|
124 |
+
//Build url
|
125 |
+
$current_url = $request_protocol . '://' . $request_host . ( ! empty ($request_port) ? (':'.$request_port) : '') . $request_uri;
|
126 |
+
|
127 |
+
// HOOKABLE:
|
128 |
+
$current_url = apply_filters( 'wsl_hook_alter_current_url', $current_url );
|
129 |
+
|
130 |
+
//Done
|
131 |
+
return $current_url;
|
132 |
+
}
|
133 |
+
|
134 |
+
// --------------------------------------------------------------------
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Display a debugging area.
|
138 |
+
*
|
139 |
+
* This function is highly inspired by the Query Monitor.
|
140 |
+
* https://wordpress.org/plugins/query-monitor/
|
141 |
+
*
|
142 |
+
* IMPORTANT: Use this only if Dev mode is enabled
|
143 |
+
*
|
144 |
+
* Note: in order for this function to display the sql queries, 'SAVEQUERIES' should be defined as true in 'wp-config.php'
|
145 |
+
*/
|
146 |
+
function wsl_display_dev_mode_debugging_area()
|
147 |
+
{
|
148 |
+
global $wpdb, $wp_actions , $wp_filter;
|
149 |
+
?>
|
150 |
+
<style>
|
151 |
+
.wsl-dev-nonselectsql {
|
152 |
+
color: #a0a !important;
|
153 |
+
}
|
154 |
+
.wsl-dev-expensivesql {
|
155 |
+
color: #f44 !important;
|
156 |
+
}
|
157 |
+
.wsl-dev-optionfunc {
|
158 |
+
color: #4a4 !important;
|
159 |
+
}
|
160 |
+
.wsl-dev-wslfunc {
|
161 |
+
color: #1468fa !important;
|
162 |
+
}
|
163 |
+
.wsl-dev-nonwslfunc {
|
164 |
+
color: #a0a !important;
|
165 |
+
}
|
166 |
+
.wsl-dev-usedhook, .wsl-dev-usedhook a {
|
167 |
+
color: #1468fa;
|
168 |
+
}
|
169 |
+
.wsl-dev-usedwslhook {
|
170 |
+
color: #a0a !important;
|
171 |
+
}
|
172 |
+
.wsl-dev-unusedhook, .wsl-dev-unusedhook a{
|
173 |
+
color: #a3a3a3 !important;
|
174 |
+
}
|
175 |
+
.wsl-dev-hookcallback, .wsl-dev-hookcallback a {
|
176 |
+
color: #4a4 !important;
|
177 |
+
}
|
178 |
+
.wsl-dev-table {
|
179 |
+
width:100%
|
180 |
+
border: 1px solid #e5e5e5;
|
181 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
182 |
+
border-spacing: 0;
|
183 |
+
clear: both;
|
184 |
+
margin: 0;
|
185 |
+
width: 100%;
|
186 |
+
}
|
187 |
+
.wsl-dev-table td, .wsl-dev-table th {
|
188 |
+
border: 1px solid #dddddd;
|
189 |
+
padding: 8px 10px;
|
190 |
+
background-color: #fff;
|
191 |
+
text-align: left;
|
192 |
+
}
|
193 |
+
</style>
|
194 |
+
|
195 |
+
<h4>SQL Queries</h4>
|
196 |
+
<table class="wsl-dev-table">
|
197 |
+
<tbody>
|
198 |
+
<tr>
|
199 |
+
<td colspan="3">
|
200 |
+
1. SAVEQUERIES should be defined and set to TRUE in order for the queries to show up (http://codex.wordpress.org/Editing_wp-config.php#Save_queries_for_analysis)
|
201 |
+
<br />
|
202 |
+
2. Calls for get_option() don't necessarily result on a query to the database. WP use both cache and wp_load_alloptions() to load all options at once. Hence, it won't be shown here.
|
203 |
+
</td>
|
204 |
+
</tr>
|
205 |
+
<?php
|
206 |
+
$queries = $wpdb->queries;
|
207 |
+
|
208 |
+
$total_wsl_queries = 0;
|
209 |
+
$total_wsl_queries_time = 0;
|
210 |
+
|
211 |
+
if( $queries )
|
212 |
+
foreach( $queries as $item ){
|
213 |
+
$sql = $item[0];
|
214 |
+
$time = $item[1];
|
215 |
+
$stack = $item[2];
|
216 |
+
|
217 |
+
$sql = str_ireplace( array( ' FROM ', ' WHERE ' , ' LIMIT ' , ' GROUP BY ' , ' ORDER BY ' , ' SET ' ), ARRAY( "\n" . 'FROM ', "\n" . 'WHERE ', "\n" . 'LIMIT ', "\n" . 'GROUP BY ', "\n" . 'ORDER BY ', "\n" . 'SET ' ), $sql );
|
218 |
+
|
219 |
+
# https://wordpress.org/plugins/query-monitor/
|
220 |
+
$callers = explode( ',', $stack );
|
221 |
+
$caller = trim( end( $callers ) );
|
222 |
+
|
223 |
+
if ( false !== strpos( $caller, '(' ) )
|
224 |
+
$caller_name = substr( $caller, 0, strpos( $caller, '(' ) ) . '()';
|
225 |
+
else
|
226 |
+
$caller_name = $caller;
|
227 |
+
|
228 |
+
if( stristr( $caller_name, 'wsl_' ) || stristr( $sql, 'wsl_' ) || stristr( $stack, 'wsl_' ) ){
|
229 |
+
?>
|
230 |
+
<tr>
|
231 |
+
<td valign="top" width="450">
|
232 |
+
<span class="<?php if( stristr( $caller_name, '_option' ) ) echo 'wsl-dev-optionfunc'; elseif( stristr( $caller_name, 'wsl_' ) ) echo 'wsl-dev-wslfunc'; else echo 'wsl-dev-nonwslfunc'; ?>"><?php echo $caller_name; ?></span>
|
233 |
+
<p style="font-size:11px; margin-left:10px">
|
234 |
+
<?php
|
235 |
+
if( count( $callers ) ){
|
236 |
+
# God damn it
|
237 |
+
for( $i = count( $callers ) - 1; $i > 0; $i-- ){
|
238 |
+
if( ! stristr( $callers[$i], '.php' ) && ! stristr( $callers[$i], 'call_user_func_' ) ){
|
239 |
+
echo "#$i " . $callers[$i] . '<br />';
|
240 |
+
}
|
241 |
+
}
|
242 |
+
}
|
243 |
+
?>
|
244 |
+
</p>
|
245 |
+
</td>
|
246 |
+
<td valign="top" class="<?php if( ! stristr( '#' . $sql, '#select ' ) ) echo 'wsl-dev-nonselectsql'; ?>"><?php echo nl2br( $sql ); ?></td>
|
247 |
+
<td valign="top" width="50" nowrap class="<?php if( $time > 0.05 ) echo 'wsl-dev-expensivesql'; ?>"><?php echo number_format( $time, 4, '.', '' ); ?></td>
|
248 |
+
</tr>
|
249 |
+
<?php
|
250 |
+
$total_wsl_queries++;
|
251 |
+
$total_wsl_queries_time += $time;
|
252 |
+
}
|
253 |
+
}
|
254 |
+
?>
|
255 |
+
<tr>
|
256 |
+
<td colspan="2">Total SQL Queries by WSL : <?php echo $total_wsl_queries; ?></td>
|
257 |
+
<td width="50" nowrap><?php echo number_format( $total_wsl_queries_time, 4, '.', '' ); ?></td>
|
258 |
+
</tr>
|
259 |
+
</tbody>
|
260 |
+
</table>
|
261 |
+
|
262 |
+
<h4>Hooks</h4>
|
263 |
+
<table class="wsl-dev-table">
|
264 |
+
<tbody>
|
265 |
+
<?php
|
266 |
+
if( $wp_actions )
|
267 |
+
{
|
268 |
+
foreach( $wp_actions as $name => $count ){
|
269 |
+
if ( isset( $wp_filter[$name] ) ) {
|
270 |
+
$action = $wp_filter[$name];
|
271 |
+
|
272 |
+
if( $action )
|
273 |
+
{
|
274 |
+
foreach( $action as $priority => $callbacks ) {
|
275 |
+
foreach( $callbacks as $callback ) {
|
276 |
+
if( isset( $callback['function'] ) && is_string( $callback['function'] ) ){
|
277 |
+
if( stristr( $callback['function'], 'wsl_' ) || stristr( $name, 'wsl_' ) ){
|
278 |
+
?>
|
279 |
+
<tr>
|
280 |
+
<td valign="top" width="270" nowrap class="wsl-dev-usedhook">
|
281 |
+
<?php
|
282 |
+
if( stristr( $name, 'wsl_' ) ){
|
283 |
+
?>
|
284 |
+
<a class="wsl-dev-usedwslhook" href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php echo $name ; ?>" target="_blank"><?php echo $name ; ?></a>
|
285 |
+
<?php
|
286 |
+
}
|
287 |
+
else{
|
288 |
+
echo $name ;
|
289 |
+
}
|
290 |
+
?>
|
291 |
+
</td>
|
292 |
+
<td valign="top" class="wsl-dev-hookcallback">
|
293 |
+
<?php
|
294 |
+
if( stristr( $callback['function'], 'wsl_' ) ){
|
295 |
+
?>
|
296 |
+
<a href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php echo $callback['function'] ; ?>" target="_blank"><?php echo $callback['function'] ; ?></a>
|
297 |
+
<?php
|
298 |
+
}
|
299 |
+
else{
|
300 |
+
echo $callback['function'] ;
|
301 |
+
}
|
302 |
+
?>
|
303 |
+
</td>
|
304 |
+
<td valign="top" width="50">
|
305 |
+
<?php echo $priority; ?>
|
306 |
+
</td>
|
307 |
+
</td>
|
308 |
+
<?php
|
309 |
+
}
|
310 |
+
}
|
311 |
+
}
|
312 |
+
}
|
313 |
+
}
|
314 |
+
}
|
315 |
+
elseif( stristr( $name, 'wsl_' ) ){
|
316 |
+
?>
|
317 |
+
<tr>
|
318 |
+
<td valign="top" width="270" nowrap class="wsl-dev-unusedhook">
|
319 |
+
<a href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php echo $name ; ?>" target="_blank"><?php echo $name ; ?></a>
|
320 |
+
</td>
|
321 |
+
<td></td>
|
322 |
+
<td></td>
|
323 |
+
</td>
|
324 |
+
<?php
|
325 |
+
}
|
326 |
+
}
|
327 |
+
}
|
328 |
+
?>
|
329 |
+
</tbody>
|
330 |
+
</table>
|
331 |
+
|
332 |
+
<h4>Wordpress</h4>
|
333 |
+
<table class="wsl-dev-table">
|
334 |
+
<tbody>
|
335 |
+
<tr><th width="150"><label>Version</label></th><td><?php echo get_bloginfo( 'version' ); ?></td></tr>
|
336 |
+
<tr><th><label>Multi-site</label></th><td><?php echo is_multisite() ? 'Yes' . "\n" : 'No'; ?></td></tr>
|
337 |
+
<tr><th><label>Site url</label></th><td><?php echo site_url(); ?></td></tr>
|
338 |
+
<tr><th><label>Plugins url</label></th><td><?php echo plugins_url(); ?></td></tr>
|
339 |
+
</tbody>
|
340 |
+
</table>
|
341 |
+
|
342 |
+
<h4>WSL</h4>
|
343 |
+
<table class="wsl-dev-table">
|
344 |
+
<tbody>
|
345 |
+
<tr><th width="150"><label>Version</label></th><td><?php echo wsl_get_version(); ?></td></tr>
|
346 |
+
<tr><th><label>Plugin path</label></th><td><?php echo WORDPRESS_SOCIAL_LOGIN_ABS_PATH; ?></td></tr>
|
347 |
+
<tr><th><label>Plugin url</label></th><td><?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL; ?></td></tr>
|
348 |
+
<tr><th><label>HA endpoint</label></th><td><?php echo WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL; ?></td></tr>
|
349 |
+
</tbody>
|
350 |
+
</table>
|
351 |
+
|
352 |
+
<h4>Website</h4>
|
353 |
+
<table class="wsl-dev-table">
|
354 |
+
<tbody>
|
355 |
+
<tr><th width="150"><label>IP</label></th><td><?php echo $_SERVER['SERVER_ADDR']; ?></td></tr>
|
356 |
+
<tr><th><label>Domain</label></th><td><?php echo $_SERVER['HTTP_HOST']; ?></td></tr>
|
357 |
+
<tr><th><label>Port</label></th><td><?php echo isset( $_SERVER['SERVER_PORT'] ) ? 'On (' . $_SERVER['SERVER_PORT'] . ')' : 'N/A'; ?></td></tr>
|
358 |
+
<tr><th><label>X Forward</label></th><td><?php echo isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ? 'On (' . $_SERVER['HTTP_X_FORWARDED_PROTO'] . ')' : 'N/A';; ?></td></tr>
|
359 |
+
</tbody>
|
360 |
+
</table>
|
361 |
+
|
362 |
+
<h4>Software</h4>
|
363 |
+
<table class="wsl-dev-table">
|
364 |
+
<tbody>
|
365 |
+
<tr><th width="150"><label>Server</label></th><td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td></tr>
|
366 |
+
<tr><th><label>PHP</label></th><td><?php echo PHP_VERSION; ?></td></tr>
|
367 |
+
<tr><th><label>MySQL</label></th><td><?php echo $wpdb->db_version(); ?></td></tr>
|
368 |
+
</tbody>
|
369 |
+
</table>
|
370 |
+
|
371 |
+
<h4>MySQL</h4>
|
372 |
+
<table class="wsl-dev-table">
|
373 |
+
<tbody>
|
374 |
+
<tr><th width="150"><label>Host</label></th><td><?php echo $wpdb->dbhost; ?></td></tr>
|
375 |
+
<tr><th><label>User</label></th><td><?php echo $wpdb->dbuser; ?></td></tr>
|
376 |
+
<tr><th><label>Database</label></th><td><?php echo $wpdb->dbname; ?></td></tr>
|
377 |
+
<tr><th><label>Prefix</label></th><td><?php echo $wpdb->prefix; ?></td></tr>
|
378 |
+
<tr><th><label>Base_prefix</label></th><td><?php echo $wpdb->prefix; ?></td></tr>
|
379 |
+
<tr><th><label>Num_queries</label></th><td><?php echo$wpdb->num_queries; ?></td></tr>
|
380 |
+
</tbody>
|
381 |
+
</table>
|
382 |
+
<?php
|
383 |
+
}
|
384 |
+
|
385 |
+
// --------------------------------------------------------------------
|
includes/settings/wsl.compatibilities.php
CHANGED
@@ -3,11 +3,19 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Check and upgrade compatibilities from old WSL versions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -17,23 +25,27 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
17 |
|
18 |
/**
|
19 |
* Check and upgrade compatibilities from old WSL versions
|
20 |
-
*
|
21 |
-
* Here we attempt to:
|
22 |
-
* - set to default all settings when WSL is installed
|
23 |
-
* - make wsl compatible when updating from old versions by registring any option
|
24 |
-
*
|
25 |
-
* Side note: the things here are not optimal and the list is kind of long. If you have any
|
26 |
-
* better idea on how to tackle this issue, please don't hesitate to share it!
|
27 |
*/
|
28 |
function wsl_check_compatibilities()
|
29 |
{
|
30 |
-
|
|
|
|
|
|
|
31 |
if( ! get_option( 'wsl_settings_redirect_url' ) ){
|
32 |
update_option( 'wsl_settings_redirect_url', site_url() );
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
35 |
if( ! get_option( 'wsl_settings_connect_with_label' ) ){
|
36 |
-
update_option( 'wsl_settings_connect_with_label', "Connect with:" );
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
if( ! get_option( 'wsl_settings_use_popup' ) ){
|
@@ -45,10 +57,10 @@ function wsl_check_compatibilities()
|
|
45 |
}
|
46 |
|
47 |
if( ! get_option( 'wsl_settings_authentication_widget_css' ) ){
|
48 |
-
update_option( 'wsl_settings_authentication_widget_css', "
|
49 |
}
|
50 |
|
51 |
-
# bouncer
|
52 |
if( ! get_option( 'wsl_settings_bouncer_registration_enabled' ) ){
|
53 |
update_option( 'wsl_settings_bouncer_registration_enabled', 1 );
|
54 |
}
|
@@ -57,23 +69,8 @@ function wsl_check_compatibilities()
|
|
57 |
update_option( 'wsl_settings_bouncer_authentication_enabled', 1 );
|
58 |
}
|
59 |
|
60 |
-
if( ! get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) ){
|
61 |
-
update_option( 'wsl_settings_bouncer_linking_accounts_enabled', 2 );
|
62 |
-
}
|
63 |
-
|
64 |
if( get_option( 'wsl_settings_bouncer_email_validation_enabled' ) == 1 ){
|
65 |
update_option( 'wsl_settings_bouncer_profile_completion_require_email', 1 );
|
66 |
-
|
67 |
-
delete_option( 'wsl_settings_bouncer_email_validation_enabled' );
|
68 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_notice' );
|
69 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_submit_button' );
|
70 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_email' );
|
71 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_username' );
|
72 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_email_invalid' );
|
73 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_username_invalid' );
|
74 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_email_exists' );
|
75 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_username_exists' );
|
76 |
-
delete_option( 'wsl_settings_bouncer_email_validation_text_connected_with' );
|
77 |
}
|
78 |
|
79 |
if( ! get_option( 'wsl_settings_bouncer_profile_completion_require_email' ) ){
|
@@ -88,42 +85,6 @@ function wsl_check_compatibilities()
|
|
88 |
update_option( 'wsl_settings_bouncer_profile_completion_change_username', 2 );
|
89 |
}
|
90 |
|
91 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_notice' ) ){
|
92 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_notice', _wsl__("Almost there, we just need to check a couple of things", 'wordpress-social-login') );
|
93 |
-
}
|
94 |
-
|
95 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_submit_button' ) ){
|
96 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_submit_button', _wsl__("Continue", 'wordpress-social-login') );
|
97 |
-
}
|
98 |
-
|
99 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_email' ) ){
|
100 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_email', _wsl__("E-mail", 'wordpress-social-login') );
|
101 |
-
}
|
102 |
-
|
103 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_username' ) ){
|
104 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_username', _wsl__("Username", 'wordpress-social-login') );
|
105 |
-
}
|
106 |
-
|
107 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_email_invalid' ) ){
|
108 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_email_invalid', _wsl__("E-mail is not valid!", 'wordpress-social-login') );
|
109 |
-
}
|
110 |
-
|
111 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_username_invalid' ) ){
|
112 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_username_invalid', _wsl__("Username is not valid!", 'wordpress-social-login') );
|
113 |
-
}
|
114 |
-
|
115 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_email_exists' ) ){
|
116 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_email_exists', _wsl__("That E-mail is already registered!", 'wordpress-social-login') );
|
117 |
-
}
|
118 |
-
|
119 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_username_exists' ) ){
|
120 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_username_exists', _wsl__("That Username is already registered!", 'wordpress-social-login') );
|
121 |
-
}
|
122 |
-
|
123 |
-
if( ! get_option( 'wsl_settings_bouncer_profile_completion_text_connected_with' ) ){
|
124 |
-
update_option( 'wsl_settings_bouncer_profile_completion_text_connected_with', _wsl__("You are now connected via", 'wordpress-social-login') );
|
125 |
-
}
|
126 |
-
|
127 |
if( ! get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) ){
|
128 |
update_option( 'wsl_settings_bouncer_new_users_moderation_level', 1 );
|
129 |
}
|
@@ -137,7 +98,7 @@ function wsl_check_compatibilities()
|
|
137 |
}
|
138 |
|
139 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) ){
|
140 |
-
update_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce', _wsl__("
|
141 |
}
|
142 |
|
143 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_email_enabled' ) ){
|
@@ -145,7 +106,7 @@ function wsl_check_compatibilities()
|
|
145 |
}
|
146 |
|
147 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) ){
|
148 |
-
update_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce', _wsl__("
|
149 |
}
|
150 |
|
151 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_profile_enabled' ) ){
|
@@ -153,7 +114,7 @@ function wsl_check_compatibilities()
|
|
153 |
}
|
154 |
|
155 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ) ){
|
156 |
-
update_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce', _wsl__("
|
157 |
}
|
158 |
|
159 |
# contacts import
|
@@ -177,26 +138,13 @@ function wsl_check_compatibilities()
|
|
177 |
update_option( 'wsl_settings_contacts_import_linkedin', 2 );
|
178 |
}
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
$nok = false;
|
188 |
-
}
|
189 |
-
}
|
190 |
-
|
191 |
-
if( $nok ){
|
192 |
-
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
193 |
-
$provider_id = $item["provider_id"];
|
194 |
-
|
195 |
-
if( isset( $item["default_network"] ) && $item["default_network"] ){
|
196 |
-
update_option( 'wsl_settings_' . $provider_id . '_enabled', 1 );
|
197 |
-
}
|
198 |
-
}
|
199 |
-
}
|
200 |
}
|
201 |
|
202 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Check and upgrade compatibilities from old WSL versions
|
11 |
+
*
|
12 |
+
* Here we attempt to:
|
13 |
+
* - set to default all settings when WSL is installed
|
14 |
+
* - make WSL compatible when updating from older versions, by registering new options
|
15 |
+
*
|
16 |
+
* Side note: Over time, the number of options have become too long, and as you can notice
|
17 |
+
* things are not optimal. If you have any better idea on how to tackle this issue,
|
18 |
+
* please don't hesitate to share it.
|
19 |
*/
|
20 |
|
21 |
// Exit if accessed directly
|
25 |
|
26 |
/**
|
27 |
* Check and upgrade compatibilities from old WSL versions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
*/
|
29 |
function wsl_check_compatibilities()
|
30 |
{
|
31 |
+
delete_option( 'wsl_settings_development_mode_enabled' );
|
32 |
+
|
33 |
+
delete_option( 'wsl_settings_welcome_panel_enabled' );
|
34 |
+
|
35 |
if( ! get_option( 'wsl_settings_redirect_url' ) ){
|
36 |
update_option( 'wsl_settings_redirect_url', site_url() );
|
37 |
}
|
38 |
|
39 |
+
if( ! get_option( 'wsl_settings_force_redirect_url' ) ){
|
40 |
+
update_option( 'wsl_settings_force_redirect_url', 2 );
|
41 |
+
}
|
42 |
+
|
43 |
if( ! get_option( 'wsl_settings_connect_with_label' ) ){
|
44 |
+
update_option( 'wsl_settings_connect_with_label', _wsl__("Connect with:", 'wordpress-social-login') );
|
45 |
+
}
|
46 |
+
|
47 |
+
if( ! get_option( 'wsl_settings_users_avatars' ) ){
|
48 |
+
update_option( 'wsl_settings_users_avatars', 1 );
|
49 |
}
|
50 |
|
51 |
if( ! get_option( 'wsl_settings_use_popup' ) ){
|
57 |
}
|
58 |
|
59 |
if( ! get_option( 'wsl_settings_authentication_widget_css' ) ){
|
60 |
+
update_option( 'wsl_settings_authentication_widget_css', ".wp-social-login-connect-with {}\n.wp-social-login-provider-list {}\n.wp-social-login-provider-list a {}\n.wp-social-login-provider-list img {}\n.wsl_connect_with_provider {}" );
|
61 |
}
|
62 |
|
63 |
+
# bouncer settings
|
64 |
if( ! get_option( 'wsl_settings_bouncer_registration_enabled' ) ){
|
65 |
update_option( 'wsl_settings_bouncer_registration_enabled', 1 );
|
66 |
}
|
69 |
update_option( 'wsl_settings_bouncer_authentication_enabled', 1 );
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
72 |
if( get_option( 'wsl_settings_bouncer_email_validation_enabled' ) == 1 ){
|
73 |
update_option( 'wsl_settings_bouncer_profile_completion_require_email', 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
|
76 |
if( ! get_option( 'wsl_settings_bouncer_profile_completion_require_email' ) ){
|
85 |
update_option( 'wsl_settings_bouncer_profile_completion_change_username', 2 );
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
if( ! get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) ){
|
89 |
update_option( 'wsl_settings_bouncer_new_users_moderation_level', 1 );
|
90 |
}
|
98 |
}
|
99 |
|
100 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) ){
|
101 |
+
update_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce', _wsl__("<strong>This website is restricted to invited readers only.</strong><p>It doesn't look like you have been invited to access this site. If you think this is a mistake, you might want to contact the website owner and request an invitation.<p>", 'wordpress-social-login') );
|
102 |
}
|
103 |
|
104 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_email_enabled' ) ){
|
106 |
}
|
107 |
|
108 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) ){
|
109 |
+
update_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce', _wsl__("<strong>This website is restricted to invited readers only.</strong><p>It doesn't look like you have been invited to access this site. If you think this is a mistake, you might want to contact the website owner and request an invitation.<p>", 'wordpress-social-login') );
|
110 |
}
|
111 |
|
112 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_profile_enabled' ) ){
|
114 |
}
|
115 |
|
116 |
if( ! get_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ) ){
|
117 |
+
update_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce', _wsl__("<strong>This website is restricted to invited readers only.</strong><p>It doesn't look like you have been invited to access this site. If you think this is a mistake, you might want to contact the website owner and request an invitation.<p>", 'wordpress-social-login') );
|
118 |
}
|
119 |
|
120 |
# contacts import
|
138 |
update_option( 'wsl_settings_contacts_import_linkedin', 2 );
|
139 |
}
|
140 |
|
141 |
+
if( ! get_option( 'wsl_settings_buddypress_enable_mapping' ) ){
|
142 |
+
update_option( 'wsl_settings_buddypress_enable_mapping', 2 );
|
143 |
+
}
|
144 |
+
|
145 |
+
if( ! get_option( 'wsl_settings_buddypress_xprofile_map' ) ){
|
146 |
+
update_option( 'wsl_settings_buddypress_xprofile_map', '' );
|
147 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
149 |
|
150 |
// --------------------------------------------------------------------
|
includes/settings/wsl.database.php
CHANGED
@@ -3,48 +3,50 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
-
* Functions &
|
11 |
*
|
12 |
-
*
|
13 |
* tables.
|
14 |
*
|
15 |
* Currently there is 2 tables used by WSL :
|
16 |
-
* - wslusersprofiles: where
|
17 |
-
* - wsluserscontacts: where
|
18 |
*/
|
19 |
|
20 |
// Exit if accessed directly
|
21 |
if ( !defined( 'ABSPATH' ) ) exit;
|
22 |
-
|
23 |
// --------------------------------------------------------------------
|
24 |
|
25 |
global $wsl_database_migration_version;
|
26 |
|
27 |
-
$wsl_database_migration_version =
|
28 |
|
29 |
// --------------------------------------------------------------------
|
30 |
|
31 |
-
function wsl_database_migration_hook
|
32 |
{
|
33 |
wsl_database_migration_process();
|
34 |
}
|
35 |
|
36 |
-
add_action( 'plugins_loaded', 'wsl_database_migration_process' );
|
37 |
-
|
38 |
// --------------------------------------------------------------------
|
39 |
|
40 |
function wsl_database_migration_process()
|
41 |
{
|
42 |
global $wpdb;
|
43 |
global $wsl_database_migration_version;
|
44 |
-
|
|
|
|
|
|
|
|
|
45 |
$wsluserscontacts = "{$wpdb->prefix}wsluserscontacts";
|
46 |
$wslusersprofiles = "{$wpdb->prefix}wslusersprofiles";
|
47 |
-
|
|
|
48 |
|
49 |
if( $installed_ver != $wsl_database_migration_version ) {
|
50 |
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
@@ -58,45 +60,46 @@ function wsl_database_migration_process()
|
|
58 |
email varchar(255) NOT NULL,
|
59 |
profile_url varchar(255) NOT NULL,
|
60 |
photo_url varchar(255) NOT NULL,
|
61 |
-
|
|
|
62 |
);";
|
63 |
dbDelta( $sql );
|
64 |
|
65 |
$sql = "CREATE TABLE " . $wslusersprofiles . " (
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
|
|
|
|
93 |
)";
|
94 |
dbDelta( $sql );
|
95 |
|
96 |
update_option( "wsl_database_migration_version", $wsl_database_migration_version );
|
97 |
}
|
98 |
-
|
99 |
-
add_option( "wsl_database_migration_version", $wsl_database_migration_version );
|
100 |
}
|
101 |
|
102 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
+
* Functions & utilities related to WSL database installation and migrations
|
11 |
*
|
12 |
+
* When WSl is activated, wsl_database_migration_process() will attempt to create or upgrade the required database
|
13 |
* tables.
|
14 |
*
|
15 |
* Currently there is 2 tables used by WSL :
|
16 |
+
* - wslusersprofiles: where we store users profiles
|
17 |
+
* - wsluserscontacts: where we store users contact lists
|
18 |
*/
|
19 |
|
20 |
// Exit if accessed directly
|
21 |
if ( !defined( 'ABSPATH' ) ) exit;
|
|
|
22 |
// --------------------------------------------------------------------
|
23 |
|
24 |
global $wsl_database_migration_version;
|
25 |
|
26 |
+
$wsl_database_migration_version = 5;
|
27 |
|
28 |
// --------------------------------------------------------------------
|
29 |
|
30 |
+
function wsl_database_migration_hook()
|
31 |
{
|
32 |
wsl_database_migration_process();
|
33 |
}
|
34 |
|
|
|
|
|
35 |
// --------------------------------------------------------------------
|
36 |
|
37 |
function wsl_database_migration_process()
|
38 |
{
|
39 |
global $wpdb;
|
40 |
global $wsl_database_migration_version;
|
41 |
+
|
42 |
+
// update old/all default wsl-settings
|
43 |
+
wsl_check_compatibilities();
|
44 |
+
|
45 |
+
// install database
|
46 |
$wsluserscontacts = "{$wpdb->prefix}wsluserscontacts";
|
47 |
$wslusersprofiles = "{$wpdb->prefix}wslusersprofiles";
|
48 |
+
|
49 |
+
$installed_ver = get_option( "wsl_database_migration_version" );
|
50 |
|
51 |
if( $installed_ver != $wsl_database_migration_version ) {
|
52 |
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
60 |
email varchar(255) NOT NULL,
|
61 |
profile_url varchar(255) NOT NULL,
|
62 |
photo_url varchar(255) NOT NULL,
|
63 |
+
UNIQUE KEY id (id),
|
64 |
+
KEY user_id (user_id)
|
65 |
);";
|
66 |
dbDelta( $sql );
|
67 |
|
68 |
$sql = "CREATE TABLE " . $wslusersprofiles . " (
|
69 |
+
id int(11) NOT NULL AUTO_INCREMENT,
|
70 |
+
user_id int(11) NOT NULL,
|
71 |
+
provider varchar(255) NOT NULL,
|
72 |
+
object_sha varchar(255) NOT NULL COMMENT 'to check if hybridauth user profile object has changed from last time, if yes we update the user profile here ',
|
73 |
+
identifier varchar(255) NOT NULL,
|
74 |
+
profileurl varchar(255) NOT NULL,
|
75 |
+
websiteurl varchar(255) NOT NULL,
|
76 |
+
photourl varchar(255) NOT NULL,
|
77 |
+
displayname varchar(255) NOT NULL,
|
78 |
+
description varchar(255) NOT NULL,
|
79 |
+
firstname varchar(255) NOT NULL,
|
80 |
+
lastname varchar(255) NOT NULL,
|
81 |
+
gender varchar(255) NOT NULL,
|
82 |
+
language varchar(255) NOT NULL,
|
83 |
+
age varchar(255) NOT NULL,
|
84 |
+
birthday varchar(255) NOT NULL,
|
85 |
+
birthmonth varchar(255) NOT NULL,
|
86 |
+
birthyear varchar(255) NOT NULL,
|
87 |
+
email varchar(255) NOT NULL,
|
88 |
+
emailverified varchar(255) NOT NULL,
|
89 |
+
phone varchar(255) NOT NULL,
|
90 |
+
address varchar(255) NOT NULL,
|
91 |
+
country varchar(255) NOT NULL,
|
92 |
+
region varchar(255) NOT NULL,
|
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 );
|
100 |
|
101 |
update_option( "wsl_database_migration_version", $wsl_database_migration_version );
|
102 |
}
|
|
|
|
|
103 |
}
|
104 |
|
105 |
// --------------------------------------------------------------------
|
includes/settings/wsl.initialization.php
CHANGED
@@ -3,13 +3,11 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
-
* Check
|
11 |
-
*
|
12 |
-
* More information ca be found at http://hybridauth.sourceforge.net/wsl/developer.html
|
13 |
*/
|
14 |
|
15 |
// Exit if accessed directly
|
@@ -17,38 +15,62 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
17 |
|
18 |
// --------------------------------------------------------------------
|
19 |
|
20 |
-
/**
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
24 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS = ARRAY(
|
25 |
"core" => array( "type" => "core" , "label" => __("WSL Core" , 'wordpress-social-login'), "description" => __("WordPress Social Login core.", 'wordpress-social-login') ),
|
26 |
"networks" => array( "type" => "core" , "label" => __("Networks" , 'wordpress-social-login'), "description" => __("Social networks setup.", 'wordpress-social-login') ),
|
27 |
"login-widget" => array( "type" => "core" , "label" => __("Widget" , 'wordpress-social-login'), "description" => __("Authentication widget customization.", 'wordpress-social-login') ),
|
28 |
"bouncer" => array( "type" => "core" , "label" => __("Bouncer" , 'wordpress-social-login'), "description" => __("WordPress Social Login advanced configuration.", 'wordpress-social-login') ),
|
29 |
-
"diagnostics" => array( "type" => "core" , "label" => __("Diagnostics" , 'wordpress-social-login'), "description" => __("WordPress Social Login diagnostics.", 'wordpress-social-login') ),
|
30 |
-
"basicinsights" => array( "type" => "plugin", "label" => __("Basic Insights" , 'wordpress-social-login'), "description" => __("WordPress Social Login basic insights. When enabled <b>Basic Insights</b> will on <b>Networks</b> tab.", 'wordpress-social-login') ),
|
31 |
"users" => array( "type" => "plugin", "label" => __("Users" , 'wordpress-social-login'), "description" => __("WordPress Social Login users manager.", 'wordpress-social-login') ),
|
32 |
"contacts" => array( "type" => "plugin", "label" => __("Contacts" , 'wordpress-social-login'), "description" => __("WordPress Social Login users contacts manager", 'wordpress-social-login') ),
|
|
|
33 |
);
|
34 |
|
35 |
-
/** list of
|
36 |
$WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS = ARRAY(
|
37 |
-
"networks" => array( "label" => __("Networks" , 'wordpress-social-login') , "enabled" => true
|
38 |
-
"login-widget" => array( "label" => __("Widget" , 'wordpress-social-login') , "enabled" => true
|
39 |
-
"bouncer" => array( "label" => __("Bouncer" , 'wordpress-social-login') , "enabled" => true
|
40 |
-
|
41 |
-
"
|
42 |
-
"
|
43 |
-
"
|
44 |
-
|
45 |
-
"
|
|
|
|
|
|
|
46 |
);
|
47 |
|
48 |
// --------------------------------------------------------------------
|
49 |
|
50 |
/**
|
51 |
-
* Register new
|
52 |
*/
|
53 |
function wsl_register_component( $component, $config, $tabs )
|
54 |
{
|
@@ -56,7 +78,7 @@ function wsl_register_component( $component, $config, $tabs )
|
|
56 |
|
57 |
// sure it can be overwritten.. just not recommended
|
58 |
if( isset( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ] ) ){
|
59 |
-
return
|
60 |
}
|
61 |
|
62 |
$config["type"] = "plugin";
|
@@ -76,7 +98,7 @@ add_action( 'wsl_register_component', 'wsl_register_component', 10, 3 );
|
|
76 |
// --------------------------------------------------------------------
|
77 |
|
78 |
/**
|
79 |
-
* Register new
|
80 |
*/
|
81 |
function wsl_register_admin_tab( $tab, $config )
|
82 |
{
|
@@ -84,7 +106,7 @@ function wsl_register_admin_tab( $tab, $config )
|
|
84 |
|
85 |
// sure it can be overwritten.. just not recommended
|
86 |
if( isset( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] ) ){
|
87 |
-
return
|
88 |
}
|
89 |
|
90 |
$WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] = $config;
|
@@ -109,7 +131,7 @@ function wsl_is_component_enabled( $component )
|
|
109 |
// --------------------------------------------------------------------
|
110 |
|
111 |
/**
|
112 |
-
* Register
|
113 |
*/
|
114 |
function wsl_register_components()
|
115 |
{
|
@@ -123,14 +145,18 @@ function wsl_register_components()
|
|
123 |
foreach( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS as $component => $config ){
|
124 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = false;
|
125 |
|
126 |
-
|
|
|
|
|
127 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true;
|
128 |
}
|
129 |
|
130 |
if( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "type" ] == "core" ){
|
131 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true;
|
132 |
|
133 |
-
|
|
|
|
|
134 |
}
|
135 |
|
136 |
foreach( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS as $tab => $tconfig ){
|
@@ -147,32 +173,7 @@ function wsl_register_components()
|
|
147 |
// --------------------------------------------------------------------
|
148 |
|
149 |
/**
|
150 |
-
*
|
151 |
-
*/
|
152 |
-
function wsl_check_requirements()
|
153 |
-
{
|
154 |
-
if
|
155 |
-
(
|
156 |
-
! version_compare( PHP_VERSION, '5.2.0', '>=' )
|
157 |
-
|| ! isset( $_SESSION["wsl::plugin"] )
|
158 |
-
|| ! function_exists('curl_init')
|
159 |
-
|| ! function_exists('json_decode')
|
160 |
-
|| ini_get('register_globals')
|
161 |
-
)
|
162 |
-
return false;
|
163 |
-
|
164 |
-
$curl_version = curl_version();
|
165 |
-
|
166 |
-
if ( ! ( $curl_version['features'] & CURL_VERSION_SSL ) )
|
167 |
-
return false;
|
168 |
-
|
169 |
-
return true;
|
170 |
-
}
|
171 |
-
|
172 |
-
// --------------------------------------------------------------------
|
173 |
-
|
174 |
-
/**
|
175 |
-
* Register wsl core settings ( options; components )
|
176 |
*/
|
177 |
function wsl_register_setting()
|
178 |
{
|
@@ -187,9 +188,9 @@ function wsl_register_setting()
|
|
187 |
|
188 |
// idps credentials
|
189 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
190 |
-
$provider_id =
|
191 |
-
$require_client_id =
|
192 |
-
$require_registration =
|
193 |
|
194 |
register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_enabled' );
|
195 |
|
@@ -211,6 +212,7 @@ function wsl_register_setting()
|
|
211 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_use_popup' );
|
212 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_widget_display' );
|
213 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_redirect_url' );
|
|
|
214 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_users_notification' );
|
215 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_authentication_widget_css' );
|
216 |
|
@@ -226,15 +228,6 @@ function wsl_register_setting()
|
|
226 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_require_email' );
|
227 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_email' );
|
228 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_username' );
|
229 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_notice' );
|
230 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_submit_button' );
|
231 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_connected_with' );
|
232 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email' );
|
233 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username' );
|
234 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email_invalid' );
|
235 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username_invalid' );
|
236 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email_exists' );
|
237 |
-
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username_exists' );
|
238 |
|
239 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_moderation_level' );
|
240 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_membership_default_role' );
|
@@ -249,157 +242,15 @@ function wsl_register_setting()
|
|
249 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_list' );
|
250 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' );
|
251 |
|
252 |
-
register_setting( 'wsl-settings-group-
|
253 |
-
|
|
|
254 |
register_setting( 'wsl-settings-group-development' , 'wsl_settings_development_mode_enabled' );
|
255 |
|
256 |
add_option( 'wsl_settings_welcome_panel_enabled' );
|
257 |
|
258 |
-
// update old/all default wsl-settings
|
259 |
-
wsl_check_compatibilities();
|
260 |
-
|
261 |
// HOOKABLE:
|
262 |
do_action( 'wsl_register_setting_end' );
|
263 |
}
|
264 |
|
265 |
// --------------------------------------------------------------------
|
266 |
-
|
267 |
-
/**
|
268 |
-
* Display WordPress Social Login on top bar menu
|
269 |
-
*/
|
270 |
-
function wsl_admin_menu_top_bar()
|
271 |
-
{
|
272 |
-
if ( ! is_user_logged_in() ) {
|
273 |
-
return ;
|
274 |
-
}
|
275 |
-
|
276 |
-
if ( ! is_admin() ) {
|
277 |
-
return ;
|
278 |
-
}
|
279 |
-
|
280 |
-
if ( ! is_admin_bar_showing() ) {
|
281 |
-
return ;
|
282 |
-
}
|
283 |
-
|
284 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
285 |
-
return ;
|
286 |
-
}
|
287 |
-
|
288 |
-
global $wp_admin_bar;
|
289 |
-
|
290 |
-
$wp_admin_bar->add_menu(array(
|
291 |
-
'id' => 'wp-admin-wordpress-social-login',
|
292 |
-
'title' => __('WordPress Social Login', 'wordpress-social-login'),
|
293 |
-
'href' => 'options-general.php?page=wordpress-social-login'
|
294 |
-
));
|
295 |
-
|
296 |
-
$wp_admin_bar->add_menu(array(
|
297 |
-
"id" => "wp-admin-wordpress-social-login-item-1",
|
298 |
-
"title" => __('Social networks setup', 'wordpress-social-login'),
|
299 |
-
'href' => 'options-general.php?page=wordpress-social-login',
|
300 |
-
"parent" => "wp-admin-wordpress-social-login"
|
301 |
-
));
|
302 |
-
|
303 |
-
$wp_admin_bar->add_menu(array(
|
304 |
-
"id" => "wp-admin-wordpress-social-login-item-2",
|
305 |
-
"title" => __('Widget customization', 'wordpress-social-login'),
|
306 |
-
'href' => 'options-general.php?page=wordpress-social-login&wslp=login-widget',
|
307 |
-
"parent" => "wp-admin-wordpress-social-login"
|
308 |
-
));
|
309 |
-
|
310 |
-
$wp_admin_bar->add_menu(array(
|
311 |
-
"id" => "wp-admin-wordpress-social-login-item-3",
|
312 |
-
"title" => __('User Guide and FAQ', 'wordpress-social-login'),
|
313 |
-
'href' => 'http://hybridauth.sourceforge.net/wsl/index.html',
|
314 |
-
"parent" => "wp-admin-wordpress-social-login",
|
315 |
-
'meta' => array( 'target' => '_blank' )
|
316 |
-
));
|
317 |
-
}
|
318 |
-
|
319 |
-
add_action('wp_before_admin_bar_render', 'wsl_admin_menu_top_bar');
|
320 |
-
|
321 |
-
// --------------------------------------------------------------------
|
322 |
-
|
323 |
-
/**
|
324 |
-
* Display WordPress Social Login on settings as submenu
|
325 |
-
*/
|
326 |
-
function wsl_admin_menu()
|
327 |
-
{
|
328 |
-
add_options_page('WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' );
|
329 |
-
|
330 |
-
add_action( 'admin_init', 'wsl_register_setting' );
|
331 |
-
}
|
332 |
-
|
333 |
-
add_action('admin_menu', 'wsl_admin_menu' );
|
334 |
-
|
335 |
-
// --------------------------------------------------------------------
|
336 |
-
|
337 |
-
/**
|
338 |
-
* Display WordPress Social Login on sidebar
|
339 |
-
*/
|
340 |
-
function wsl_admin_menu_sidebar()
|
341 |
-
{
|
342 |
-
add_menu_page( 'WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' );
|
343 |
-
}
|
344 |
-
|
345 |
-
// add_action('admin_menu', 'wsl_admin_menu_sidebar');
|
346 |
-
|
347 |
-
// --------------------------------------------------------------------
|
348 |
-
|
349 |
-
/**
|
350 |
-
* Add a new column to wp-admin/users.php
|
351 |
-
*/
|
352 |
-
function wsl_manage_users_columns( $columns )
|
353 |
-
{
|
354 |
-
$columns['wsl_column'] = "WP Social Login";
|
355 |
-
|
356 |
-
return $columns;
|
357 |
-
}
|
358 |
-
|
359 |
-
add_filter('manage_users_columns', 'wsl_manage_users_columns');
|
360 |
-
|
361 |
-
|
362 |
-
// --------------------------------------------------------------------
|
363 |
-
|
364 |
-
/**
|
365 |
-
* Alter wp-admin/edit-comments.php
|
366 |
-
*/
|
367 |
-
function wsl_comment_row_actions( $a ) {
|
368 |
-
global $comment;
|
369 |
-
|
370 |
-
$tmp = wsl_get_user_by_meta_key_and_user_id( "wsl_user_image", $comment->user_id);
|
371 |
-
|
372 |
-
if ( $tmp ) {
|
373 |
-
$a[ 'wsl_profile' ] = '<a href="options-general.php?page=wordpress-social-login&wslp=users&uid=' . $comment->user_id . '">' . _wsl__("WSL user profile", 'wordpress-social-login') . '</a>';
|
374 |
-
$a[ 'wsl_contacts' ] = '<a href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=' . $comment->user_id . '">' . _wsl__("WSL user contacts", 'wordpress-social-login') . '</a>';
|
375 |
-
}
|
376 |
-
|
377 |
-
return $a;
|
378 |
-
}
|
379 |
-
|
380 |
-
add_filter( 'comment_row_actions', 'wsl_comment_row_actions', 11, 1 );
|
381 |
-
|
382 |
-
// --------------------------------------------------------------------
|
383 |
-
|
384 |
-
/**
|
385 |
-
* Generate content for the added column to wp-admin/users.php
|
386 |
-
*/
|
387 |
-
function wsl_manage_users_custom_column( $value, $column_name, $user_id )
|
388 |
-
{
|
389 |
-
if ( 'wsl_column' != $column_name ) {
|
390 |
-
return $value;
|
391 |
-
}
|
392 |
-
|
393 |
-
$tmp = wsl_get_user_by_meta_key_and_user_id( "wsl_user_image", $user_id);
|
394 |
-
|
395 |
-
if ( ! $tmp ) {
|
396 |
-
return "";
|
397 |
-
}
|
398 |
-
|
399 |
-
return
|
400 |
-
'<a href="options-general.php?page=wordpress-social-login&wslp=users&uid=' . $user_id . '">' . _wsl__("Profile", 'wordpress-social-login') . '</a> | <a href="options-general.php?page=wordpress-social-login&wslp=contacts&uid=' . $user_id . '">' . _wsl__("Contacts", 'wordpress-social-login') . '</a>';
|
401 |
-
}
|
402 |
-
|
403 |
-
add_action( 'manage_users_custom_column', 'wsl_manage_users_custom_column', 10, 3 );
|
404 |
-
|
405 |
-
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
+
* Check WSL requirements and register WSL settings
|
|
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
15 |
|
16 |
// --------------------------------------------------------------------
|
17 |
|
18 |
+
/**
|
19 |
+
* Check WSL minimum requirements. Display fail page if they are not met.
|
20 |
+
*/
|
21 |
+
function wsl_check_requirements()
|
22 |
+
{
|
23 |
+
if
|
24 |
+
(
|
25 |
+
! version_compare( PHP_VERSION, '5.2.0', '>=' )
|
26 |
+
|| ! isset( $_SESSION["wsl::plugin"] )
|
27 |
+
|| ! function_exists('curl_init')
|
28 |
+
|| ! function_exists('json_decode')
|
29 |
+
|| ini_get('register_globals')
|
30 |
+
)
|
31 |
+
return false;
|
32 |
+
|
33 |
+
$curl_version = curl_version();
|
34 |
+
|
35 |
+
if ( ! ( $curl_version['features'] & CURL_VERSION_SSL ) )
|
36 |
+
return false;
|
37 |
|
38 |
+
return true;
|
39 |
+
}
|
40 |
+
|
41 |
+
// --------------------------------------------------------------------
|
42 |
+
|
43 |
+
/** list of WSL components */
|
44 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS = ARRAY(
|
45 |
"core" => array( "type" => "core" , "label" => __("WSL Core" , 'wordpress-social-login'), "description" => __("WordPress Social Login core.", 'wordpress-social-login') ),
|
46 |
"networks" => array( "type" => "core" , "label" => __("Networks" , 'wordpress-social-login'), "description" => __("Social networks setup.", 'wordpress-social-login') ),
|
47 |
"login-widget" => array( "type" => "core" , "label" => __("Widget" , 'wordpress-social-login'), "description" => __("Authentication widget customization.", 'wordpress-social-login') ),
|
48 |
"bouncer" => array( "type" => "core" , "label" => __("Bouncer" , 'wordpress-social-login'), "description" => __("WordPress Social Login advanced configuration.", 'wordpress-social-login') ),
|
|
|
|
|
49 |
"users" => array( "type" => "plugin", "label" => __("Users" , 'wordpress-social-login'), "description" => __("WordPress Social Login users manager.", 'wordpress-social-login') ),
|
50 |
"contacts" => array( "type" => "plugin", "label" => __("Contacts" , 'wordpress-social-login'), "description" => __("WordPress Social Login users contacts manager", 'wordpress-social-login') ),
|
51 |
+
"buddypress" => array( "type" => "plugin", "label" => __("BuddyPress" , 'wordpress-social-login'), "description" => __("Makes WordPress Social Login compatible with BuddyPress: Widget integration, Users avatars and xProfiles mapping.", 'wordpress-social-login') ),
|
52 |
);
|
53 |
|
54 |
+
/** list of WSL admin tabs */
|
55 |
$WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS = ARRAY(
|
56 |
+
"networks" => array( "label" => __("Networks" , 'wordpress-social-login') , "enabled" => true, "visible" => true , "component" => "networks" , "default" => true ),
|
57 |
+
"login-widget" => array( "label" => __("Widget" , 'wordpress-social-login') , "enabled" => true, "visible" => true , "component" => "login-widget" ),
|
58 |
+
"bouncer" => array( "label" => __("Bouncer" , 'wordpress-social-login') , "enabled" => true, "visible" => true , "component" => "bouncer" ),
|
59 |
+
|
60 |
+
"users" => array( "label" => __("Users" , 'wordpress-social-login') , "enabled" => false, "visible" => true , "component" => "users" ),
|
61 |
+
"contacts" => array( "label" => __("Contacts" , 'wordpress-social-login') , "enabled" => false, "visible" => true , "component" => "contacts" ),
|
62 |
+
"buddypress" => array( "label" => __("BuddyPress" , 'wordpress-social-login') , "enabled" => false, "visible" => true , "component" => "buddypress" ),
|
63 |
+
|
64 |
+
"watchdog" => array( "label" => __("Watchdog" , 'wordpress-social-login') , "enabled" => true , "visible" => false , "component" => "core" , "pull-right" => true ),
|
65 |
+
"diagnostics" => array( "label" => __("Diagnostics" , 'wordpress-social-login') , "enabled" => true , "visible" => false , "component" => "core" , "pull-right" => true ),
|
66 |
+
"help" => array( "label" => __('?' , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "core" , "pull-right" => true ),
|
67 |
+
"components" => array( "label" => __("Components" , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "core" , "pull-right" => true ),
|
68 |
);
|
69 |
|
70 |
// --------------------------------------------------------------------
|
71 |
|
72 |
/**
|
73 |
+
* Register a new WSL component
|
74 |
*/
|
75 |
function wsl_register_component( $component, $config, $tabs )
|
76 |
{
|
78 |
|
79 |
// sure it can be overwritten.. just not recommended
|
80 |
if( isset( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ] ) ){
|
81 |
+
return wsl_render_wsl_die( _wsl__("An installed plugin is trying to o-ver-write WordPress Social Login config in a bad way.", 'wordpress-social-login') );
|
82 |
}
|
83 |
|
84 |
$config["type"] = "plugin";
|
98 |
// --------------------------------------------------------------------
|
99 |
|
100 |
/**
|
101 |
+
* Register new WSL admin tab
|
102 |
*/
|
103 |
function wsl_register_admin_tab( $tab, $config )
|
104 |
{
|
106 |
|
107 |
// sure it can be overwritten.. just not recommended
|
108 |
if( isset( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] ) ){
|
109 |
+
return wsl_render_wsl_die( _wsl__("An installed plugin is trying to o-ver-write WordPress Social Login config in a bad way.", 'wordpress-social-login') );
|
110 |
}
|
111 |
|
112 |
$WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] = $config;
|
131 |
// --------------------------------------------------------------------
|
132 |
|
133 |
/**
|
134 |
+
* Register WSL components (Bulk action)
|
135 |
*/
|
136 |
function wsl_register_components()
|
137 |
{
|
145 |
foreach( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS as $component => $config ){
|
146 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = false;
|
147 |
|
148 |
+
$is_component_enabled = get_option( "wsl_components_" . $component . "_enabled" );
|
149 |
+
|
150 |
+
if( $is_component_enabled == 1 ){
|
151 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true;
|
152 |
}
|
153 |
|
154 |
if( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "type" ] == "core" ){
|
155 |
$WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true;
|
156 |
|
157 |
+
if( $is_component_enabled != 1 ){
|
158 |
+
update_option( "wsl_components_" . $component . "_enabled", 1 );
|
159 |
+
}
|
160 |
}
|
161 |
|
162 |
foreach( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS as $tab => $tconfig ){
|
173 |
// --------------------------------------------------------------------
|
174 |
|
175 |
/**
|
176 |
+
* Register WSL core settings ( options; components )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
*/
|
178 |
function wsl_register_setting()
|
179 |
{
|
188 |
|
189 |
// idps credentials
|
190 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
191 |
+
$provider_id = isset( $item["provider_id"] ) ? $item["provider_id"] : null;
|
192 |
+
$require_client_id = isset( $item["require_client_id"] ) ? $item["require_client_id"] : null;
|
193 |
+
$require_registration = isset( $item["new_app_link"] ) ? $item["new_app_link"] : null;
|
194 |
|
195 |
register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_enabled' );
|
196 |
|
212 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_use_popup' );
|
213 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_widget_display' );
|
214 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_redirect_url' );
|
215 |
+
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_force_redirect_url' );
|
216 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_users_notification' );
|
217 |
register_setting( 'wsl-settings-group-customize' , 'wsl_settings_authentication_widget_css' );
|
218 |
|
228 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_require_email' );
|
229 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_email' );
|
230 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_username' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
|
232 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_moderation_level' );
|
233 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_membership_default_role' );
|
242 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_list' );
|
243 |
register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' );
|
244 |
|
245 |
+
register_setting( 'wsl-settings-group-buddypress' , 'wsl_settings_buddypress_enable_mapping' );
|
246 |
+
register_setting( 'wsl-settings-group-buddypress' , 'wsl_settings_buddypress_xprofile_map' );
|
247 |
+
|
248 |
register_setting( 'wsl-settings-group-development' , 'wsl_settings_development_mode_enabled' );
|
249 |
|
250 |
add_option( 'wsl_settings_welcome_panel_enabled' );
|
251 |
|
|
|
|
|
|
|
252 |
// HOOKABLE:
|
253 |
do_action( 'wsl_register_setting_end' );
|
254 |
}
|
255 |
|
256 |
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/settings/wsl.providers.php
CHANGED
@@ -3,22 +3,31 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* List of supported providers by Hybridauth Library
|
11 |
*
|
12 |
-
*
|
13 |
-
*
|
14 |
-
* and then copy needed additional providers to the library.
|
15 |
*
|
16 |
-
* For instance, to get
|
17 |
-
* to 'plugins/wordpress-social-login/hybridauth/Hybrid/Providers/
|
18 |
-
* $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
*
|
20 |
* After that you just need to configure your application ID, private and secret keys at the plugin
|
21 |
-
* configuration pages.
|
22 |
*/
|
23 |
|
24 |
// Exit if accessed directly
|
@@ -31,58 +40,46 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
31 |
"provider_id" => "Facebook",
|
32 |
"provider_name" => "Facebook",
|
33 |
"require_client_id" => true,
|
|
|
34 |
"new_app_link" => "https://developers.facebook.com/apps",
|
35 |
|
36 |
-
"default_network"
|
37 |
"cat" => "socialnetworks",
|
38 |
-
)
|
39 |
-
,
|
40 |
ARRAY(
|
41 |
"provider_id" => "Google",
|
42 |
"provider_name" => "Google",
|
43 |
"callback" => true,
|
44 |
"require_client_id" => true,
|
45 |
-
"new_app_link" => "https://
|
46 |
|
47 |
-
"default_network"
|
48 |
"cat" => "socialnetworks",
|
49 |
-
)
|
50 |
-
,
|
51 |
ARRAY(
|
52 |
"provider_id" => "Twitter",
|
53 |
"provider_name" => "Twitter",
|
|
|
54 |
"new_app_link" => "https://dev.twitter.com/apps",
|
55 |
|
56 |
"default_network" => true,
|
57 |
-
|
58 |
"cat" => "microblogging",
|
59 |
-
)
|
60 |
-
,
|
61 |
ARRAY(
|
62 |
"provider_id" => "Live",
|
63 |
"provider_name" => "Windows Live",
|
64 |
"require_client_id" => true,
|
65 |
-
"new_app_link" => "https://
|
66 |
|
67 |
"cat" => "pleasedie",
|
68 |
-
)
|
69 |
-
,
|
70 |
ARRAY(
|
71 |
"provider_id" => "Yahoo",
|
72 |
"provider_name" => "Yahoo!",
|
73 |
"new_app_link" => null,
|
74 |
|
75 |
"cat" => "pleasedie",
|
76 |
-
)
|
77 |
-
,
|
78 |
-
ARRAY(
|
79 |
-
"provider_id" => "MySpace",
|
80 |
-
"provider_name" => "MySpace",
|
81 |
-
"new_app_link" => "http://www.developer.myspace.com/",
|
82 |
-
|
83 |
-
"cat" => "pleasedie",
|
84 |
-
)
|
85 |
-
,
|
86 |
ARRAY(
|
87 |
"provider_id" => "Foursquare",
|
88 |
"provider_name" => "Foursquare",
|
@@ -91,24 +88,21 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
91 |
"new_app_link" => "https://www.foursquare.com/oauth/",
|
92 |
|
93 |
"cat" => "microblogging",
|
94 |
-
)
|
95 |
-
,
|
96 |
ARRAY(
|
97 |
"provider_id" => "LinkedIn",
|
98 |
"provider_name" => "LinkedIn",
|
99 |
"new_app_link" => "https://www.linkedin.com/secure/developer",
|
100 |
|
101 |
"cat" => "professional",
|
102 |
-
)
|
103 |
-
,
|
104 |
ARRAY(
|
105 |
"provider_id" => "AOL",
|
106 |
"provider_name" => "AOL",
|
107 |
"new_app_link" => null,
|
108 |
|
109 |
"cat" => "pleasedie",
|
110 |
-
)
|
111 |
-
,
|
112 |
ARRAY(
|
113 |
"provider_id" => "Vkontakte",
|
114 |
"provider_name" => "Vkontakte",
|
@@ -117,16 +111,14 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
117 |
"new_app_link" => "http://vk.com/developers.php",
|
118 |
|
119 |
"cat" => "socialnetworks",
|
120 |
-
)
|
121 |
-
,
|
122 |
ARRAY(
|
123 |
"provider_id" => "LastFM",
|
124 |
"provider_name" => "Last.FM",
|
125 |
"new_app_link" => "http://www.lastfm.com/api/account",
|
126 |
|
127 |
"cat" => "media",
|
128 |
-
)
|
129 |
-
,
|
130 |
ARRAY(
|
131 |
"provider_id" => "Instagram",
|
132 |
"provider_name" => "Instagram",
|
@@ -135,16 +127,14 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
135 |
"new_app_link" => "http://instagr.am/developer/clients/manage/",
|
136 |
|
137 |
"cat" => "media",
|
138 |
-
)
|
139 |
-
,
|
140 |
ARRAY(
|
141 |
"provider_id" => "Identica",
|
142 |
"provider_name" => "Identica",
|
143 |
"new_app_link" => "http://identi.ca/settings/oauthapps/new",
|
144 |
|
145 |
"cat" => "microblogging",
|
146 |
-
)
|
147 |
-
,
|
148 |
ARRAY(
|
149 |
"provider_id" => "Tumblr",
|
150 |
"provider_name" => "Tumblr",
|
@@ -186,6 +176,7 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
186 |
ARRAY(
|
187 |
"provider_id" => "Skyrock",
|
188 |
"provider_name" => "Skyrock",
|
|
|
189 |
"new_app_link" => "https://www.skyrock.com/developer/application",
|
190 |
|
191 |
"cat" => "socialnetworks",
|
@@ -227,7 +218,7 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
227 |
"provider_name" => "Yandex",
|
228 |
"require_client_id" => true,
|
229 |
"callback" => true,
|
230 |
-
"new_app_link" => "
|
231 |
|
232 |
"cat" => "misc",
|
233 |
),
|
@@ -240,6 +231,45 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
|
|
240 |
|
241 |
"cat" => "socialnetworks",
|
242 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
);
|
244 |
|
245 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* List of supported providers by Hybridauth Library
|
11 |
*
|
12 |
+
* If you need even more of the Hybridauth additional providers, then you need to download additional providers package
|
13 |
+
* at https://github.com/hybridauth/hybridauth/releases and then copy needed additional providers to the library.
|
|
|
14 |
*
|
15 |
+
* For instance, to get XING provider working you need to copy 'hybridauth-identica/Providers/XING.php'
|
16 |
+
* to 'plugins/wordpress-social-login/hybridauth/Hybrid/Providers/XING.php' and then add it to
|
17 |
+
* $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG :
|
18 |
+
*
|
19 |
+
* ARRAY(
|
20 |
+
* 'provider_id' : Alphanumeric(a-zA-Z0-9) code/name of a provider
|
21 |
+
* 'provider_name' : Real provider name.
|
22 |
+
* 'require_client_id' : If a provider uses OAuth 2. Defaults to false.
|
23 |
+
* 'callback' : If the provide require to set a callback url. Defaults to false.
|
24 |
+
* 'new_app_link' : If the provide require to create a new application on his developer site.
|
25 |
+
* 'default_network' : If true, it will shows up by default on Admin > WordPress Social Login > Networks
|
26 |
+
* 'cat' : Provider category. (for future use)
|
27 |
+
* ),
|
28 |
*
|
29 |
* After that you just need to configure your application ID, private and secret keys at the plugin
|
30 |
+
* configuration pages (wp-admin/options-general.php?page=wordpress-social-login).
|
31 |
*/
|
32 |
|
33 |
// Exit if accessed directly
|
40 |
"provider_id" => "Facebook",
|
41 |
"provider_name" => "Facebook",
|
42 |
"require_client_id" => true,
|
43 |
+
"callback" => true,
|
44 |
"new_app_link" => "https://developers.facebook.com/apps",
|
45 |
|
46 |
+
"default_network" => true,
|
47 |
"cat" => "socialnetworks",
|
48 |
+
),
|
|
|
49 |
ARRAY(
|
50 |
"provider_id" => "Google",
|
51 |
"provider_name" => "Google",
|
52 |
"callback" => true,
|
53 |
"require_client_id" => true,
|
54 |
+
"new_app_link" => "https://console.developers.google.com",
|
55 |
|
56 |
+
"default_network" => true,
|
57 |
"cat" => "socialnetworks",
|
58 |
+
),
|
|
|
59 |
ARRAY(
|
60 |
"provider_id" => "Twitter",
|
61 |
"provider_name" => "Twitter",
|
62 |
+
"callback" => true,
|
63 |
"new_app_link" => "https://dev.twitter.com/apps",
|
64 |
|
65 |
"default_network" => true,
|
|
|
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",
|
78 |
"provider_name" => "Yahoo!",
|
79 |
"new_app_link" => null,
|
80 |
|
81 |
"cat" => "pleasedie",
|
82 |
+
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
ARRAY(
|
84 |
"provider_id" => "Foursquare",
|
85 |
"provider_name" => "Foursquare",
|
88 |
"new_app_link" => "https://www.foursquare.com/oauth/",
|
89 |
|
90 |
"cat" => "microblogging",
|
91 |
+
),
|
|
|
92 |
ARRAY(
|
93 |
"provider_id" => "LinkedIn",
|
94 |
"provider_name" => "LinkedIn",
|
95 |
"new_app_link" => "https://www.linkedin.com/secure/developer",
|
96 |
|
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",
|
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",
|
127 |
"new_app_link" => "http://instagr.am/developer/clients/manage/",
|
128 |
|
129 |
"cat" => "media",
|
130 |
+
),
|
|
|
131 |
ARRAY(
|
132 |
"provider_id" => "Identica",
|
133 |
"provider_name" => "Identica",
|
134 |
"new_app_link" => "http://identi.ca/settings/oauthapps/new",
|
135 |
|
136 |
"cat" => "microblogging",
|
137 |
+
),
|
|
|
138 |
ARRAY(
|
139 |
"provider_id" => "Tumblr",
|
140 |
"provider_name" => "Tumblr",
|
176 |
ARRAY(
|
177 |
"provider_id" => "Skyrock",
|
178 |
"provider_name" => "Skyrock",
|
179 |
+
"callback" => true,
|
180 |
"new_app_link" => "https://www.skyrock.com/developer/application",
|
181 |
|
182 |
"cat" => "socialnetworks",
|
218 |
"provider_name" => "Yandex",
|
219 |
"require_client_id" => true,
|
220 |
"callback" => true,
|
221 |
+
"new_app_link" => "https://oauth.yandex.ru",
|
222 |
|
223 |
"cat" => "misc",
|
224 |
),
|
231 |
|
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",
|
267 |
+
"require_client_id" => true,
|
268 |
+
"callback" => true,
|
269 |
+
"new_app_link" => "https://login.pixelpin.co.uk/",
|
270 |
+
|
271 |
+
"cat" => "misc",
|
272 |
+
),
|
273 |
);
|
274 |
|
275 |
// --------------------------------------------------------------------
|
includes/widgets/wsl.auth.widget.php
CHANGED
@@ -3,21 +3,38 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Authentication widgets generator
|
|
|
|
|
|
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
14 |
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
|
16 |
// --------------------------------------------------------------------
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
function wsl_render_login_form()
|
19 |
{
|
|
|
20 |
if ( is_user_logged_in() && ! is_admin() ){
|
|
|
|
|
|
|
21 |
return;
|
22 |
}
|
23 |
|
@@ -26,431 +43,268 @@ function wsl_render_login_form()
|
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
-
|
30 |
-
if( apply_filters( 'wsl_render_login_form_takeover', null ) ){
|
31 |
-
return;
|
32 |
-
}
|
33 |
|
34 |
-
// HOOKABLE:
|
35 |
do_action( 'wsl_render_login_form_start' );
|
36 |
|
37 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
38 |
|
|
|
|
|
|
|
|
|
39 |
if( empty( $social_icon_set ) ){
|
40 |
$social_icon_set = "wpzoom/";
|
41 |
}
|
42 |
-
|
43 |
-
|
44 |
-
}
|
45 |
-
|
46 |
-
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/32x32/' . $social_icon_set;
|
47 |
|
48 |
// HOOKABLE: allow use of other icon sets
|
49 |
-
$assets_base_url = apply_filters( '
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
$current_page_url =
|
54 |
-
if (isset($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] == "on")) {
|
55 |
-
$current_page_url .= "s";
|
56 |
-
}
|
57 |
-
$current_page_url .= "://";
|
58 |
-
if ($_SERVER["SERVER_PORT"] != "80") {
|
59 |
-
$current_page_url .= $_SERVER["HTTP_HOST"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
|
60 |
-
}
|
61 |
-
else {
|
62 |
-
$current_page_url .= $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
|
63 |
-
}
|
64 |
|
|
|
65 |
$authenticate_base_url = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "action=wordpress_social_authenticate&";
|
66 |
-
|
67 |
-
// overwrite endpoint_url if need'd
|
68 |
-
if( get_option( 'wsl_settings_hide_wp_login' ) == 1 ){
|
69 |
-
$authenticate_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . "/services/authenticate.php?";
|
70 |
-
}
|
71 |
?>
|
|
|
72 |
<!--
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-->
|
|
|
77 |
<?php
|
|
|
78 |
$wsl_settings_authentication_widget_css = get_option( 'wsl_settings_authentication_widget_css' );
|
79 |
|
80 |
-
//
|
81 |
if( ! empty( $wsl_settings_authentication_widget_css ) ){
|
82 |
-
?>
|
83 |
<style>
|
84 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
</style>
|
86 |
<?php
|
87 |
}
|
88 |
?>
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
91 |
<?php
|
|
|
|
|
|
|
92 |
$nok = true;
|
93 |
|
94 |
// display provider icons
|
95 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
96 |
-
$provider_id
|
97 |
-
$provider_name
|
98 |
|
|
|
99 |
$authenticate_url = $authenticate_base_url . "provider=" . $provider_id . "&redirect_to=" . urlencode( $current_page_url );
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
$provider_icon_markup = apply_filters( 'wsl_alter_hook_provider_icon_markup', $provider_id );
|
104 |
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
|
107 |
if( $provider_icon_markup != $provider_id ){
|
108 |
echo $provider_icon_markup;
|
109 |
}
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
?>
|
119 |
-
<a rel="nofollow" href="<?php echo esc_url( $authenticate_url ) ?>" title="Connect with <?php echo $provider_name ?>" class="wsl_connect_with_provider" >
|
120 |
-
<img alt="<?php echo $provider_name ?>" title="<?php echo $provider_name ?>" src="<?php echo $assets_base_url . strtolower( $provider_id ) . '.png' ?>" />
|
121 |
-
</a>
|
122 |
-
<?php
|
123 |
}
|
124 |
|
125 |
$nok = false;
|
126 |
}
|
127 |
}
|
128 |
|
|
|
129 |
if( $nok ){
|
130 |
-
|
131 |
<p style="background-color: #FFFFE0;border:1px solid #E6DB55;padding:5px;">
|
132 |
<?php _wsl_e( '<strong style="color:red;">WordPress Social Login is not configured yet!</strong><br />Please visit the <strong>Settings\ WP Social Login</strong> administration page to configure this plugin.<br />For more information please refer to the plugin <a href="http://hybridauth.sourceforge.net/userguide/Plugin_WordPress_Social_Login.html">online user guide</a> or contact us at <a href="http://hybridauth.sourceforge.net/">hybridauth.sourceforge.net</a>' , 'wordpress-social-login') ?>
|
133 |
</p>
|
134 |
-
<style>
|
135 |
-
|
136 |
-
</style>
|
137 |
-
<?php
|
138 |
}
|
139 |
|
140 |
// provide popup url for hybridauth callback
|
141 |
-
if(
|
142 |
?>
|
|
|
143 |
<input id="wsl_popup_base_url" type="hidden" value="<?php echo esc_url( $authenticate_base_url ) ?>" />
|
144 |
<input type="hidden" id="wsl_login_form_uri" value="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" />
|
|
|
145 |
<?php
|
146 |
-
}
|
147 |
-
|
148 |
</div>
|
149 |
-
<!-- /wsl_render_login_form -->
|
150 |
-
<?php
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
}
|
155 |
|
156 |
-
|
157 |
|
158 |
-
|
|
|
|
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
wsl_render_login_form();
|
163 |
-
}
|
164 |
|
165 |
-
|
|
|
166 |
|
167 |
// --------------------------------------------------------------------
|
168 |
|
169 |
-
|
170 |
-
|
|
|
|
|
|
|
|
|
171 |
{
|
172 |
-
|
173 |
-
if( ! get_option( 'wsl_settings_widget_display' ) || get_option( 'wsl_settings_widget_display' ) == 1 || get_option( 'wsl_settings_widget_display' ) == 2 ){
|
174 |
-
wsl_render_login_form();
|
175 |
-
}
|
176 |
-
}
|
177 |
}
|
178 |
|
179 |
-
|
180 |
|
181 |
// --------------------------------------------------------------------
|
182 |
|
183 |
-
|
184 |
-
|
|
|
|
|
185 |
{
|
186 |
-
|
187 |
-
wsl_render_login_form();
|
188 |
-
}
|
189 |
}
|
190 |
|
191 |
-
add_action( '
|
192 |
-
add_action ('bp_before_account_details_fields', 'wsl_render_login_form_login_form');
|
193 |
-
add_action ('bp_before_sidebar_login_form', 'wsl_render_login_form_login_form');
|
194 |
|
195 |
// --------------------------------------------------------------------
|
196 |
|
197 |
-
|
198 |
-
|
|
|
|
|
199 |
{
|
200 |
-
|
201 |
-
|
202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
|
205 |
-
add_action( '
|
206 |
-
add_action( 'after_signup_form', 'wsl_render_login_form_login_on_register_and_login' );
|
207 |
-
|
208 |
-
# }}}
|
209 |
|
210 |
// --------------------------------------------------------------------
|
211 |
|
212 |
-
|
213 |
-
|
|
|
|
|
214 |
{
|
215 |
-
|
216 |
-
|
217 |
-
|
|
|
|
|
218 |
}
|
219 |
|
220 |
-
|
|
|
|
|
221 |
|
222 |
// --------------------------------------------------------------------
|
223 |
|
224 |
-
|
|
|
|
|
|
|
225 |
{
|
226 |
-
|
227 |
-
return null;
|
228 |
-
}
|
229 |
|
230 |
-
if(
|
231 |
-
|
232 |
-
}
|
233 |
-
|
234 |
-
wp_print_scripts( "jquery" );
|
235 |
-
wp_print_scripts( "wsl_js" );
|
236 |
}
|
237 |
|
238 |
-
add_action( '
|
239 |
-
add_action( '
|
240 |
|
241 |
// --------------------------------------------------------------------
|
242 |
|
|
|
|
|
|
|
243 |
function wsl_add_stylesheets()
|
244 |
{
|
245 |
if( ! wp_style_is( 'wsl_css', 'registered' ) ) {
|
246 |
wp_register_style( "wsl_css", WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . "/assets/css/style.css" );
|
247 |
}
|
248 |
|
249 |
-
|
250 |
-
wp_print_styles( 'wsl_css' );
|
251 |
-
}
|
252 |
-
else{
|
253 |
-
wp_enqueue_style( "social_connect" );
|
254 |
-
}
|
255 |
}
|
256 |
|
257 |
add_action( 'login_head', 'wsl_add_stylesheets' );
|
258 |
-
add_action( 'wp_head', 'wsl_add_stylesheets' );
|
259 |
-
# }}}
|
260 |
|
261 |
// --------------------------------------------------------------------
|
262 |
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
{
|
269 |
-
|
270 |
-
return;
|
271 |
-
}
|
272 |
-
|
273 |
-
// HOOKABLE: allow users to generate their own
|
274 |
-
if( apply_filters( 'wsl_hook_profile_widget', null ) ){
|
275 |
-
return;
|
276 |
-
}
|
277 |
-
|
278 |
-
# if ob_start()/ob_end_clean() dont work for you then i can do nothing for you
|
279 |
-
ob_start();
|
280 |
-
|
281 |
-
global $current_user;
|
282 |
-
global $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
283 |
-
|
284 |
-
get_currentuserinfo();
|
285 |
-
|
286 |
-
$user_id = $current_user->ID;
|
287 |
-
|
288 |
-
$linked_accounts = wsl_get_user_linked_accounts_by_user_id( $user_id );
|
289 |
-
|
290 |
-
// if not WSL user, then nothing to show, yet
|
291 |
-
if( ! $linked_accounts ){
|
292 |
-
return;
|
293 |
-
}
|
294 |
-
|
295 |
-
if( empty( $social_icon_set ) ){
|
296 |
-
$social_icon_set = "wpzoom/";
|
297 |
-
}
|
298 |
-
else{
|
299 |
-
$social_icon_set .= "/";
|
300 |
}
|
301 |
|
302 |
-
|
303 |
-
|
304 |
-
<h3><?php _wsl_e("Social networks", 'wordpress-social-login') ?></h3>
|
305 |
-
<table class="form-table">
|
306 |
-
<tr>
|
307 |
-
<td valign="top">
|
308 |
-
<table id="wsl-user-profile-injected-table-b">
|
309 |
-
<tr>
|
310 |
-
<th width="80"><?php _wsl_e("Provider", 'wordpress-social-login') ?></th>
|
311 |
-
<th><?php _wsl_e("Identity", 'wordpress-social-login') ?></th>
|
312 |
-
</tr>
|
313 |
-
<?php
|
314 |
-
foreach( $linked_accounts AS $item ){
|
315 |
-
$identity = $item->profileurl;
|
316 |
-
$photourl = $item->photourl;
|
317 |
-
|
318 |
-
if( ! $identity ){
|
319 |
-
$identity = $item->identifier;
|
320 |
-
}
|
321 |
-
?>
|
322 |
-
<tr>
|
323 |
-
<td>
|
324 |
-
<?php if( $photourl ) { ?>
|
325 |
-
<img src="<?php echo $photourl ?>" style="vertical-align: top;width:16px;height:16px;" >
|
326 |
-
<?php } else { ?>
|
327 |
-
<img src="<?php echo $assets_base_url . strtolower( $item->provider ) . '.png' ?>" style="vertical-align: top;width:16px;height:16px;" />
|
328 |
-
<?php } ?>
|
329 |
-
<?php echo ucfirst( $item->provider ); ?>
|
330 |
-
</td>
|
331 |
-
<td><?php echo $identity; ?></td>
|
332 |
-
</tr>
|
333 |
-
<?php
|
334 |
-
}
|
335 |
-
?>
|
336 |
-
</table>
|
337 |
-
</td>
|
338 |
-
</tr>
|
339 |
-
</tr>
|
340 |
-
<?php
|
341 |
-
// Bouncer :: Allow authentication && Linking accounts is enabled
|
342 |
-
if( get_option( 'wsl_settings_bouncer_authentication_enabled' ) == 1 && get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) == 1 ){
|
343 |
-
$list_connected_providers = wsl_get_list_connected_providers();
|
344 |
-
?>
|
345 |
-
<tr>
|
346 |
-
<td valign="top">
|
347 |
-
<b><?php _wsl_e("Add more identities", 'wordpress-social-login') ?></b>
|
348 |
-
<br />
|
349 |
-
<?php
|
350 |
-
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
351 |
-
$provider_id = @ $item["provider_id"];
|
352 |
-
$provider_name = @ $item["provider_name"];
|
353 |
-
$dispaly = true;
|
354 |
-
|
355 |
-
// only one linked account per provider is permitted!!
|
356 |
-
foreach( $linked_accounts AS $link ){
|
357 |
-
if( $link->provider == $provider_id ){
|
358 |
-
$dispaly = false;
|
359 |
-
}
|
360 |
-
}
|
361 |
-
|
362 |
-
if( $dispaly ){
|
363 |
-
$social_icon_set = get_option( 'wsl_settings_social_icon_set' );
|
364 |
-
|
365 |
-
$current_page_url = admin_url("profile.php");
|
366 |
-
|
367 |
-
if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ){
|
368 |
-
?>
|
369 |
-
<a href="<?php echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL; ?>/services/authenticate.php?provider=<?php echo $provider_id ?>&link=1&redirect_to=<?php echo urlencode($current_page_url) ?>" title="Connect with <?php echo $provider_name ?>" style="text-decoration:none;" target="_blank">
|
370 |
-
<img alt="<?php echo $provider_name ?>" title="<?php echo $provider_name ?>" src="<?php echo $assets_base_url . strtolower( $provider_id ) . '.png' ?>" />
|
371 |
-
</a>
|
372 |
-
<?php
|
373 |
-
}
|
374 |
-
}
|
375 |
-
}
|
376 |
-
?>
|
377 |
-
</td>
|
378 |
-
</tr>
|
379 |
-
<?php
|
380 |
-
}
|
381 |
-
|
382 |
-
if( $list_connected_providers ){
|
383 |
-
?>
|
384 |
-
<tr>
|
385 |
-
<td>
|
386 |
-
<b><?php _wsl_e("Currently connected to:", 'wordpress-social-login') ?></b>
|
387 |
-
<?php echo implode( ', ', $list_connected_providers ); ?>
|
388 |
-
</td>
|
389 |
-
</tr>
|
390 |
-
<?php
|
391 |
}
|
392 |
-
?>
|
393 |
-
|
394 |
-
</table>
|
395 |
-
<?php
|
396 |
-
$html = ob_get_contents();
|
397 |
-
|
398 |
-
ob_end_clean();
|
399 |
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
function wsl_render_login_form_admin_head_user_profile()
|
404 |
-
{
|
405 |
-
// HOOKABLE:
|
406 |
-
if( apply_filters( 'wsl_hook_alter_render_login_form_admin_head_user_profile', null ) ){
|
407 |
-
return;
|
408 |
-
}
|
409 |
-
?>
|
410 |
-
<style>
|
411 |
-
#wsl-user-profile-injected-table-b
|
412 |
-
{
|
413 |
-
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
|
414 |
-
font-size: 12px;
|
415 |
-
background: #fff;
|
416 |
-
border-collapse: collapse;
|
417 |
-
text-align: left;
|
418 |
-
}
|
419 |
-
#wsl-user-profile-injected-table-b th
|
420 |
-
{
|
421 |
-
font-size: 14px;
|
422 |
-
font-weight: normal;
|
423 |
-
padding: 10px 8px;
|
424 |
-
border-bottom: 2px solid #ccc;
|
425 |
-
width: auto;
|
426 |
-
}
|
427 |
-
#wsl-user-profile-injected-table-b td
|
428 |
-
{
|
429 |
-
border-bottom: 1px solid #ccc;
|
430 |
-
padding: 6px 8px;
|
431 |
-
width: auto;
|
432 |
-
}
|
433 |
-
#wsl-user-profile-injected-table-b tbody tr:hover td
|
434 |
-
{
|
435 |
-
color: #009;
|
436 |
-
}
|
437 |
-
</style>
|
438 |
-
<script>
|
439 |
-
jQuery(document).ready(function($)
|
440 |
-
{
|
441 |
-
jQuery( '#user_login' )
|
442 |
-
.parent()
|
443 |
-
.parent()
|
444 |
-
.parent()
|
445 |
-
.parent()
|
446 |
-
.after( '<?php echo wsl_render_login_form_admin_head_user_profile_generate_html() ?>' );
|
447 |
-
});
|
448 |
-
</script>
|
449 |
-
<?php
|
450 |
}
|
451 |
|
452 |
-
add_action( '
|
453 |
-
|
454 |
-
# }}} linking new accounts
|
455 |
|
456 |
// --------------------------------------------------------------------
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Authentication widgets generator
|
11 |
+
*
|
12 |
+
* http://hybridauth.sourceforge.net/wsl/customize.html
|
13 |
+
* http://hybridauth.sourceforge.net/wsl/themes.html
|
14 |
+
* http://hybridauth.sourceforge.net/wsl/developer.html
|
15 |
*/
|
16 |
|
17 |
// Exit if accessed directly
|
18 |
if ( !defined( 'ABSPATH' ) ) exit;
|
19 |
|
20 |
// --------------------------------------------------------------------
|
21 |
+
/**
|
22 |
+
* Gnenerate the HTML content of WSL Widget
|
23 |
+
*
|
24 |
+
* Important Notes:
|
25 |
+
* Since WSL 2.2.1, all elements IDs generated by the widget are replaced by css classes :
|
26 |
+
* #wp-social-login-connect-with replaced with .wp-social-login-connect-with
|
27 |
+
* #wp-social-login-connect-options replaced with .wp-social-login-provider-list
|
28 |
+
* Class .wsl_connect_with_provider will be replaced with .wp-social-login-provider and .wp-social-login-provider-{provider}
|
29 |
+
* Those depreciated selectors are kept for backward compatibility and will be removed.
|
30 |
+
*/
|
31 |
function wsl_render_login_form()
|
32 |
{
|
33 |
+
// WSL Widget won't show up for connected users
|
34 |
if ( is_user_logged_in() && ! is_admin() ){
|
35 |
+
// HOOKABLE:
|
36 |
+
do_action( 'wsl_render_login_form_user_loggedin' );
|
37 |
+
|
38 |
return;
|
39 |
}
|
40 |
|
43 |
return;
|
44 |
}
|
45 |
|
46 |
+
ob_start();
|
|
|
|
|
|
|
47 |
|
48 |
+
// HOOKABLE: This action runs just before generating the WSL Widget.
|
49 |
do_action( 'wsl_render_login_form_start' );
|
50 |
|
51 |
GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
|
52 |
|
53 |
+
// Icon set. If eq 'none', we show text instead
|
54 |
+
$social_icon_set = get_option( 'wsl_settings_social_icon_set' );
|
55 |
+
|
56 |
+
// wpzoom icons set, is shown by default
|
57 |
if( empty( $social_icon_set ) ){
|
58 |
$social_icon_set = "wpzoom/";
|
59 |
}
|
60 |
+
|
61 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/32x32/' . $social_icon_set . '/';
|
|
|
|
|
|
|
62 |
|
63 |
// HOOKABLE: allow use of other icon sets
|
64 |
+
$assets_base_url = apply_filters( 'wsl_hook_alter_assets_base_url', $assets_base_url );
|
65 |
|
66 |
+
// get the current page url, which we will use to redirect the user to,
|
67 |
+
// unless Widget::Force redirection is set to 'yes', then this will be ignored and Widget::Redirect URL will be used instead
|
68 |
+
$current_page_url = wsl_get_current_url();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
+
// build the authentication url which will call for wsl_process_login() : action=wordpress_social_authenticate
|
71 |
$authenticate_base_url = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "action=wordpress_social_authenticate&";
|
|
|
|
|
|
|
|
|
|
|
72 |
?>
|
73 |
+
|
74 |
<!--
|
75 |
+
wsl_render_login_form
|
76 |
+
WordPress Social Login Plugin <?php echo wsl_get_version(); ?>.
|
77 |
+
http://wordpress.org/extend/plugins/wordpress-social-login/
|
78 |
-->
|
79 |
+
|
80 |
<?php
|
81 |
+
// Widget::Custom CSS
|
82 |
$wsl_settings_authentication_widget_css = get_option( 'wsl_settings_authentication_widget_css' );
|
83 |
|
84 |
+
// show the custom widget css if not empty
|
85 |
if( ! empty( $wsl_settings_authentication_widget_css ) ){
|
86 |
+
?>
|
87 |
<style>
|
88 |
+
<?php
|
89 |
+
echo
|
90 |
+
preg_replace(
|
91 |
+
array( '%/\*(?:(?!\*/).)*\*/%s', '/\s{2,}/', "/\s*([;{}])[\r\n\t\s]/", '/\\s*;\\s*/', '/\\s*{\\s*/', '/;?\\s*}\\s*/' ),
|
92 |
+
array( '', ' ', '$1', ';', '{', '}' ),
|
93 |
+
$wsl_settings_authentication_widget_css );
|
94 |
+
?>
|
95 |
</style>
|
96 |
<?php
|
97 |
}
|
98 |
?>
|
99 |
+
|
100 |
+
<div class="wp-social-login-widget">
|
101 |
+
|
102 |
+
<div id="wp-social-login-connect-with" class="wp-social-login-connect-with"><?php _wsl_e( get_option( 'wsl_settings_connect_with_label' ), 'wordpress-social-login'); ?></div>
|
103 |
+
|
104 |
+
<div id="wp-social-login-connect-options" class="wp-social-login-provider-list">
|
105 |
<?php
|
106 |
+
// Widget::Authentication display
|
107 |
+
$wsl_settings_use_popup = get_option( 'wsl_settings_use_popup' );
|
108 |
+
|
109 |
$nok = true;
|
110 |
|
111 |
// display provider icons
|
112 |
foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){
|
113 |
+
$provider_id = isset( $item["provider_id"] ) ? $item["provider_id"] : '' ;
|
114 |
+
$provider_name = isset( $item["provider_name"] ) ? $item["provider_name"] : '' ;
|
115 |
|
116 |
+
// build authentication url
|
117 |
$authenticate_url = $authenticate_base_url . "provider=" . $provider_id . "&redirect_to=" . urlencode( $current_page_url );
|
118 |
|
119 |
+
// http://codex.wordpress.org/Function_Reference/esc_url
|
120 |
+
$authenticate_url = esc_url( $authenticate_url );
|
|
|
121 |
|
122 |
+
if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ){
|
123 |
+
// in case, Widget::Authentication display is set to 'popup', then we overwrite 'authenticate_url'
|
124 |
+
// > /assets/js/connect.js will take care of the rest
|
125 |
+
if( $wsl_settings_use_popup == 1 ){
|
126 |
+
$authenticate_url= "javascript:void(0);";
|
127 |
+
}
|
128 |
+
|
129 |
+
// HOOKABLE: allow use of other icon sets
|
130 |
+
$provider_icon_markup = apply_filters( 'wsl_render_login_form_alter_provider_icon_markup', $provider_id, $provider_name, $authenticate_url );
|
131 |
|
132 |
if( $provider_icon_markup != $provider_id ){
|
133 |
echo $provider_icon_markup;
|
134 |
}
|
135 |
+
else{
|
136 |
+
?>
|
137 |
+
|
138 |
+
<a rel="nofollow" href="<?php echo $authenticate_url; ?>" title="<?php echo sprintf( _wsl__("Connect with %s", 'wordpress-social-login'), $provider_name ) ?>" class="wsl_connect_with_provider wp-social-login-provider wp-social-login-provider-<?php echo strtolower( $provider_id ); ?>" data-provider="<?php echo $provider_id ?>">
|
139 |
+
<?php if( $social_icon_set == 'none' ){ echo $provider_name; } else { ?><img alt="<?php echo $provider_name ?>" title="<?php echo sprintf( _wsl__("Connect with %s", 'wordpress-social-login'), $provider_name ) ?>" src="<?php echo $assets_base_url . strtolower( $provider_id ) . '.png' ?>" /><?php } ?>
|
140 |
+
</a>
|
141 |
+
|
142 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
|
145 |
$nok = false;
|
146 |
}
|
147 |
}
|
148 |
|
149 |
+
// not provider enabled?
|
150 |
if( $nok ){
|
151 |
+
?>
|
152 |
<p style="background-color: #FFFFE0;border:1px solid #E6DB55;padding:5px;">
|
153 |
<?php _wsl_e( '<strong style="color:red;">WordPress Social Login is not configured yet!</strong><br />Please visit the <strong>Settings\ WP Social Login</strong> administration page to configure this plugin.<br />For more information please refer to the plugin <a href="http://hybridauth.sourceforge.net/userguide/Plugin_WordPress_Social_Login.html">online user guide</a> or contact us at <a href="http://hybridauth.sourceforge.net/">hybridauth.sourceforge.net</a>' , 'wordpress-social-login') ?>
|
154 |
</p>
|
155 |
+
<style>#wp-social-login-connect-with{display:none;}</style>
|
156 |
+
<?php
|
|
|
|
|
157 |
}
|
158 |
|
159 |
// provide popup url for hybridauth callback
|
160 |
+
if( $wsl_settings_use_popup == 1 ){
|
161 |
?>
|
162 |
+
|
163 |
<input id="wsl_popup_base_url" type="hidden" value="<?php echo esc_url( $authenticate_base_url ) ?>" />
|
164 |
<input type="hidden" id="wsl_login_form_uri" value="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" />
|
165 |
+
|
166 |
<?php
|
167 |
+
}
|
168 |
+
?>
|
169 |
</div>
|
|
|
|
|
170 |
|
171 |
+
<div class="wp-social-login-widget-clearing"></div>
|
172 |
+
</div>
|
|
|
173 |
|
174 |
+
<!-- wsl_render_login_form -->
|
175 |
|
176 |
+
<?php
|
177 |
+
// HOOKABLE: This action runs just after generating the WSL Widget.
|
178 |
+
do_action( 'wsl_render_login_form_end' );
|
179 |
|
180 |
+
// Display WSL debugging are bellow the widget.
|
181 |
+
// wsl_display_dev_mode_debugging_area(); // ! keep this line commented unless you know what you are doing :)
|
|
|
|
|
182 |
|
183 |
+
return ob_get_clean();
|
184 |
+
}
|
185 |
|
186 |
// --------------------------------------------------------------------
|
187 |
|
188 |
+
/**
|
189 |
+
* WSL Widget hortcode tag
|
190 |
+
*
|
191 |
+
* Ref: http://codex.wordpress.org/Function_Reference/add_shortcode
|
192 |
+
*/
|
193 |
+
function wsl_shortcode_handler($args)
|
194 |
{
|
195 |
+
return wsl_render_login_form();
|
|
|
|
|
|
|
|
|
196 |
}
|
197 |
|
198 |
+
add_shortcode( 'wordpress_social_login', 'wsl_shortcode_handler' );
|
199 |
|
200 |
// --------------------------------------------------------------------
|
201 |
|
202 |
+
/**
|
203 |
+
* WSL Widget action
|
204 |
+
*/
|
205 |
+
function wsl_render_login_form_login()
|
206 |
{
|
207 |
+
echo wsl_render_login_form();
|
|
|
|
|
208 |
}
|
209 |
|
210 |
+
add_action( 'wordpress_social_login', 'wsl_render_login_form_login' );
|
|
|
|
|
211 |
|
212 |
// --------------------------------------------------------------------
|
213 |
|
214 |
+
/**
|
215 |
+
* Display on comment area
|
216 |
+
*/
|
217 |
+
function wsl_render_wsl_widget_in_comment_form()
|
218 |
{
|
219 |
+
$wsl_settings_widget_display = get_option( 'wsl_settings_widget_display' );
|
220 |
+
|
221 |
+
if( comments_open() ){
|
222 |
+
if(
|
223 |
+
! $wsl_settings_widget_display
|
224 |
+
||
|
225 |
+
$wsl_settings_widget_display == 1
|
226 |
+
||
|
227 |
+
$wsl_settings_widget_display == 2
|
228 |
+
){
|
229 |
+
echo wsl_render_login_form();
|
230 |
+
}
|
231 |
+
}
|
232 |
}
|
233 |
|
234 |
+
add_action( 'comment_form_top', 'wsl_render_wsl_widget_in_comment_form' );
|
|
|
|
|
|
|
235 |
|
236 |
// --------------------------------------------------------------------
|
237 |
|
238 |
+
/**
|
239 |
+
* Display on login form
|
240 |
+
*/
|
241 |
+
function wsl_render_wsl_widget_in_wp_login_form()
|
242 |
{
|
243 |
+
$wsl_settings_widget_display = get_option( 'wsl_settings_widget_display' );
|
244 |
+
|
245 |
+
if( $wsl_settings_widget_display == 1 || $wsl_settings_widget_display == 3 ){
|
246 |
+
echo wsl_render_login_form();
|
247 |
+
}
|
248 |
}
|
249 |
|
250 |
+
add_action( 'login_form' , 'wsl_render_wsl_widget_in_wp_login_form' );
|
251 |
+
add_action( 'bp_before_account_details_fields', 'wsl_render_wsl_widget_in_wp_login_form' );
|
252 |
+
add_action( 'bp_before_sidebar_login_form' , 'wsl_render_wsl_widget_in_wp_login_form' );
|
253 |
|
254 |
// --------------------------------------------------------------------
|
255 |
|
256 |
+
/**
|
257 |
+
* Display on login & register form
|
258 |
+
*/
|
259 |
+
function wsl_render_wsl_widget_in_wp_register_form()
|
260 |
{
|
261 |
+
$wsl_settings_widget_display = get_option( 'wsl_settings_widget_display' );
|
|
|
|
|
262 |
|
263 |
+
if( $wsl_settings_widget_display == 1 || $wsl_settings_widget_display == 3 ){
|
264 |
+
echo wsl_render_login_form();
|
265 |
+
}
|
|
|
|
|
|
|
266 |
}
|
267 |
|
268 |
+
add_action( 'register_form' , 'wsl_render_wsl_widget_in_wp_register_form' );
|
269 |
+
add_action( 'after_signup_form', 'wsl_render_wsl_widget_in_wp_register_form' );
|
270 |
|
271 |
// --------------------------------------------------------------------
|
272 |
|
273 |
+
/**
|
274 |
+
* Enqueue WSL CSS file
|
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 |
|
290 |
+
/**
|
291 |
+
* Enqueue WSL Javascript, only if we use popup
|
292 |
+
*/
|
293 |
+
function wsl_add_javascripts()
|
294 |
+
{
|
295 |
+
if( get_option( 'wsl_settings_use_popup' ) != 1 ){
|
296 |
+
return null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
|
299 |
+
if( ! wp_script_is( 'wsl_js', 'registered' ) ) {
|
300 |
+
wp_register_script( "wsl_js", WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . "/assets/js/script.js" );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
|
303 |
+
wp_enqueue_script( "jquery" );
|
304 |
+
wp_enqueue_script( "wsl_js" );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
}
|
306 |
|
307 |
+
add_action( 'login_head', 'wsl_add_javascripts' );
|
308 |
+
add_action( 'wp_head' , 'wsl_add_javascripts' );
|
|
|
309 |
|
310 |
// --------------------------------------------------------------------
|
includes/widgets/wsl.complete.registration.php
CHANGED
@@ -3,11 +3,11 @@
|
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
-
* Page for users completing their registration (currently used only by Bouncer::Email Validation
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -17,15 +17,16 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
17 |
|
18 |
function wsl_process_login_complete_registration( $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login )
|
19 |
{
|
20 |
-
//
|
|
|
21 |
|
22 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
23 |
|
24 |
// check posted user email & login
|
25 |
-
$request_user_login =
|
26 |
-
$request_user_email =
|
27 |
|
28 |
-
$request_user_login = sanitize_user( $request_user_login );
|
29 |
$request_user_email = sanitize_email( $request_user_email );
|
30 |
|
31 |
$request_user_login_exists = username_exists ( $request_user_login );
|
@@ -48,19 +49,19 @@ function wsl_process_login_complete_registration( $provider, $redirect_to, $hybr
|
|
48 |
if( ! $request_user_email ){
|
49 |
$shall_pass = false;
|
50 |
|
51 |
-
$shall_pass_errors[
|
52 |
}
|
53 |
|
54 |
if( ! $request_user_email_validate ){
|
55 |
$shall_pass = false;
|
56 |
|
57 |
-
$shall_pass_errors[
|
58 |
}
|
59 |
|
60 |
if( $request_user_email_exists ){
|
61 |
$shall_pass = false;
|
62 |
|
63 |
-
$shall_pass_errors[
|
64 |
}
|
65 |
}
|
66 |
|
@@ -68,88 +69,85 @@ function wsl_process_login_complete_registration( $provider, $redirect_to, $hybr
|
|
68 |
if( ! $request_user_login ){
|
69 |
$shall_pass = false;
|
70 |
|
71 |
-
$shall_pass_errors[
|
72 |
}
|
73 |
|
74 |
if( ! $request_user_login_validate ){
|
75 |
$shall_pass = false;
|
76 |
|
77 |
-
$shall_pass_errors[
|
78 |
}
|
79 |
|
80 |
if( $request_user_login_exists ){
|
81 |
$shall_pass = false;
|
82 |
|
83 |
-
$shall_pass_errors[
|
84 |
}
|
85 |
}
|
86 |
|
87 |
if( ! $shall_pass ){
|
88 |
?>
|
89 |
<!DOCTYPE html>
|
90 |
-
<head>
|
91 |
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
92 |
-
<title><?php echo get_bloginfo('name'); ?></title>
|
93 |
-
<head>
|
94 |
-
<style>
|
95 |
-
body.login{background:0 repeat scroll 0 0 #fbfbfb;min-width:0}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px}html,body{height:100%;margin:0;padding:0}#login{margin:auto;padding:114px 0 0;width:320px}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.message{margin:0 0 16px 8px;padding:12px;border-radius:3px 3px 3px 3px;border-style:solid;border-width:1px}.info{font-family:sans-serif;font-size:12px;line-height:1.4em}.login form{background:0 repeat scroll 0 0 #fff;border:1px solid #e5e5e5;box-shadow:0 4px 10px -1px rgba(200,200,200,.7);font-weight:400;margin-left:8px;padding:26px 24px 46px;border-radius:3px 3px 3px 3px}.login label{color:#777;font-size:14px;cursor:pointer;vertical-align:middle}input[type="text"]{background:0 repeat scroll 0 0 #fbfbfb;border:1px solid #e5e5e5;box-shadow:1px 1px 2px rgba(200,200,200,.2) inset;color:#555;font-size:24px;font-weight:200;line-height:1;margin-bottom:16px;margin-right:6px;margin-top:2px;outline:0 none;padding:3px;width:100%}.button-primary{display:inline-block;text-decoration:none;font-size:12px;line-height:23px;height:24px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#21759b;background-image:-webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));background-image:-webkit-linear-gradient(top,#2a95c5,#21759b);background-image:-moz-linear-gradient(top,#2a95c5,#21759b);background-image:-ms-linear-gradient(top,#2a95c5,#21759b);background-image:-o-linear-gradient(top,#2a95c5,#21759b);background-image:linear-gradient(to bottom,#2a95c5,#21759b);border-color:#21759b;border-bottom-color:#1e6a8d;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5);box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1);float:right;height:36px;}#login{width:580px}.error{margin:0 0 16px 8px;padding:12px;border-radius:3px 3px 3px 3px;border-style:solid;border-width:1px;background-color: #FFEBE8;border:1px solid #CC0000;}
|
96 |
-
</style>
|
97 |
-
<script>
|
98 |
-
function init() {
|
99 |
-
|
100 |
-
|
101 |
-
}
|
102 |
-
</script>
|
103 |
-
<body class="login" onload="init();">
|
104 |
-
<!--
|
105 |
-
wsl_process_login_complete_registration
|
106 |
-
WordPress Social Login Plugin ( <?php echo $_SESSION["wsl::plugin"] ?> )
|
107 |
-
http://wordpress.org/extend/plugins/wordpress-social-login/
|
108 |
-
-->
|
109 |
-
<div id="login">
|
110 |
-
<?php
|
111 |
-
if( ! isset( $_REQUEST["bouncer_profile_completion"] ) ){
|
112 |
-
?><p class="message"><?php echo get_option( 'wsl_settings_bouncer_profile_completion_text_notice' ); ?></p><?php
|
113 |
}
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
|
|
|
|
153 |
</html>
|
154 |
<?php
|
155 |
die();
|
3 |
* WordPress Social Login
|
4 |
*
|
5 |
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
+
* Page for users completing their registration (currently used only by Bouncer::Email Validation)
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
17 |
|
18 |
function wsl_process_login_complete_registration( $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login )
|
19 |
{
|
20 |
+
// HOOKABLE:
|
21 |
+
do_action( "wsl_process_login_complete_registration_start", $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login );
|
22 |
|
23 |
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/16x16/';
|
24 |
|
25 |
// check posted user email & login
|
26 |
+
$request_user_login = isset( $_REQUEST["user_login"] ) ? $_REQUEST["user_login"] : '';
|
27 |
+
$request_user_email = isset( $_REQUEST["user_email"] ) ? $_REQUEST["user_email"] : '';
|
28 |
|
29 |
+
$request_user_login = sanitize_user( $request_user_login, true );
|
30 |
$request_user_email = sanitize_email( $request_user_email );
|
31 |
|
32 |
$request_user_login_exists = username_exists ( $request_user_login );
|
49 |
if( ! $request_user_email ){
|
50 |
$shall_pass = false;
|
51 |
|
52 |
+
$shall_pass_errors[ _wsl__("E-mail is not valid!", 'wordpress-social-login') ] = true;
|
53 |
}
|
54 |
|
55 |
if( ! $request_user_email_validate ){
|
56 |
$shall_pass = false;
|
57 |
|
58 |
+
$shall_pass_errors[ _wsl__("E-mail is not valid!", 'wordpress-social-login') ] = true;
|
59 |
}
|
60 |
|
61 |
if( $request_user_email_exists ){
|
62 |
$shall_pass = false;
|
63 |
|
64 |
+
$shall_pass_errors[ _wsl__("That E-mail is already registered!", 'wordpress-social-login') ] = true;
|
65 |
}
|
66 |
}
|
67 |
|
69 |
if( ! $request_user_login ){
|
70 |
$shall_pass = false;
|
71 |
|
72 |
+
$shall_pass_errors[ _wsl__("Username is not valid!", 'wordpress-social-login') ] = true;
|
73 |
}
|
74 |
|
75 |
if( ! $request_user_login_validate ){
|
76 |
$shall_pass = false;
|
77 |
|
78 |
+
$shall_pass_errors[ _wsl__("Username is not valid!", 'wordpress-social-login') ] = true;
|
79 |
}
|
80 |
|
81 |
if( $request_user_login_exists ){
|
82 |
$shall_pass = false;
|
83 |
|
84 |
+
$shall_pass_errors[ _wsl__("That Username is already registered!", 'wordpress-social-login') ] = true;
|
85 |
}
|
86 |
}
|
87 |
|
88 |
if( ! $shall_pass ){
|
89 |
?>
|
90 |
<!DOCTYPE html>
|
91 |
+
<head>
|
92 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
93 |
+
<title><?php echo get_bloginfo('name'); ?></title>
|
94 |
+
<head>
|
95 |
+
<style>
|
96 |
+
body.login{background:0 repeat scroll 0 0 #fbfbfb;min-width:0}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px}html,body{height:100%;margin:0;padding:0}#login{margin:auto;padding:114px 0 0;width:320px}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.message{margin:0 0 16px 8px;padding:12px;border-radius:3px 3px 3px 3px;border-style:solid;border-width:1px}.info{font-family:sans-serif;font-size:12px;line-height:1.4em}.login form{background:0 repeat scroll 0 0 #fff;border:1px solid #e5e5e5;box-shadow:0 4px 10px -1px rgba(200,200,200,.7);font-weight:400;margin-left:8px;padding:26px 24px 46px;border-radius:3px 3px 3px 3px}.login label{color:#777;font-size:14px;cursor:pointer;vertical-align:middle}input[type="text"]{background:0 repeat scroll 0 0 #fbfbfb;border:1px solid #e5e5e5;box-shadow:1px 1px 2px rgba(200,200,200,.2) inset;color:#555;font-size:24px;font-weight:200;line-height:1;margin-bottom:16px;margin-right:6px;margin-top:2px;outline:0 none;padding:3px;width:100%}.button-primary{display:inline-block;text-decoration:none;font-size:12px;line-height:23px;height:24px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#21759b;background-image:-webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));background-image:-webkit-linear-gradient(top,#2a95c5,#21759b);background-image:-moz-linear-gradient(top,#2a95c5,#21759b);background-image:-ms-linear-gradient(top,#2a95c5,#21759b);background-image:-o-linear-gradient(top,#2a95c5,#21759b);background-image:linear-gradient(to bottom,#2a95c5,#21759b);border-color:#21759b;border-bottom-color:#1e6a8d;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5);box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1);float:right;height:36px;}#login{width:580px}.error{margin:0 0 16px 8px;padding:12px;border-radius:3px 3px 3px 3px;border-style:solid;border-width:1px;background-color: #FFEBE8;border:1px solid #CC0000;}
|
97 |
+
</style>
|
98 |
+
<script>
|
99 |
+
function init() {
|
100 |
+
if( document.getElementById('user_login') ) document.getElementById('user_login').focus()
|
101 |
+
if( document.getElementById('user_email') ) document.getElementById('user_email').focus()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
+
</script>
|
104 |
+
</head>
|
105 |
+
<body class="login" onload="init();">
|
106 |
+
<div id="login">
|
107 |
+
<?php
|
108 |
+
if( ! isset( $_REQUEST["bouncer_profile_completion"] ) ){
|
109 |
+
?><p class="message"><?php _wsl_e( "Almost there, we just need to check a couple of things", 'wordpress-social-login' ); ?></p><?php
|
110 |
}
|
111 |
+
elseif( $shall_pass_errors ){
|
112 |
+
foreach( $shall_pass_errors as $k => $v ){
|
113 |
+
?><p class="error"><?php echo $k; ?></p><?php
|
114 |
+
}
|
115 |
+
}
|
116 |
+
?>
|
117 |
+
<form method="post" action="<?php echo site_url( 'wp-login.php', 'login_post' ); ?>" id="loginform" name="loginform">
|
118 |
+
<?php if( get_option( 'wsl_settings_bouncer_profile_completion_change_username' ) == 1 ){ ?>
|
119 |
+
<p>
|
120 |
+
<label for="user_login"><?php _wsl_e( "Username", 'wordpress-social-login' ); ?><br><input type="text" name="user_login" id="user_login" class="input" value="<?php echo $hybridauth_user_login ?>" size="25" /></label>
|
121 |
+
</p>
|
122 |
+
<?php } ?>
|
123 |
+
|
124 |
+
<?php if( get_option( 'wsl_settings_bouncer_profile_completion_require_email' ) == 1 ){ ?>
|
125 |
+
<p>
|
126 |
+
<label for="user_email"><?php _wsl_e( "E-mail", 'wordpress-social-login' ); ?><br><input type="text" name="user_email" id="user_email" class="input" value="<?php echo $request_user_email ?>" size="25" /></label>
|
127 |
+
</p>
|
128 |
+
<?php } ?>
|
129 |
+
|
130 |
+
<table width="100%" border="0">
|
131 |
+
<tr>
|
132 |
+
<td valign="bottom">
|
133 |
+
<span class="info">
|
134 |
+
<img src="<?php echo $assets_base_url . strtolower( $provider ) . '.png' ?>" style="vertical-align: top;width:16px;height:16px;" />
|
135 |
+
<?php _wsl_e("You are now connected via", 'wordpress-social-login' ); ?> <b><?php echo ucfirst($provider) ?></b>.
|
136 |
+
</span>
|
137 |
+
</td>
|
138 |
+
<td>
|
139 |
+
<input type="submit" value="<?php _wsl_e( "Continue", 'wordpress-social-login' ); ?>" class="button button-primary button-large" id="wp-submit" name="wp-submit">
|
140 |
+
</td>
|
141 |
+
</tr>
|
142 |
+
</table>
|
143 |
+
|
144 |
+
<input type="hidden" id="redirect_to" name="redirect_to" value="<?php echo $redirect_to ?>">
|
145 |
+
<input type="hidden" id="provider" name="provider" value="<?php echo $provider ?>">
|
146 |
+
<input type="hidden" id="action" name="action" value="wordpress_social_profile_completion">
|
147 |
+
<input type="hidden" id="bouncer_profile_completion" name="bouncer_profile_completion" value="1">
|
148 |
+
</form>
|
149 |
+
</div>
|
150 |
+
</body>
|
151 |
</html>
|
152 |
<?php
|
153 |
die();
|
includes/widgets/wsl.error.pages.php
ADDED
@@ -0,0 +1,285 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Generate WSL notices end errors pages.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Display a simple notice to the user and kill WordPress execution.
|
20 |
+
*
|
21 |
+
* This function is mainly used by bouncer
|
22 |
+
*
|
23 |
+
* Note:
|
24 |
+
* In case you want to customize the content generated, you may define this function in 'wordpress-social-login-custom.php'
|
25 |
+
* Just make sure the script DIES at the end.
|
26 |
+
*
|
27 |
+
* The $message to display for users is passed as a parameter.
|
28 |
+
*/
|
29 |
+
if( ! function_exists( 'wsl_render_notice_page' ) )
|
30 |
+
{
|
31 |
+
function wsl_render_notice_page( $message )
|
32 |
+
{
|
33 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
34 |
+
?>
|
35 |
+
<!DOCTYPE html>
|
36 |
+
<head>
|
37 |
+
<meta name="robots" content="NOINDEX, NOFOLLOW">
|
38 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
39 |
+
<title><?php bloginfo('name'); ?></title>
|
40 |
+
<style type="text/css">
|
41 |
+
html {
|
42 |
+
background: #f1f1f1;
|
43 |
+
}
|
44 |
+
body {
|
45 |
+
background: #fff;
|
46 |
+
color: #444;
|
47 |
+
font-family: "Open Sans", sans-serif;
|
48 |
+
margin: 2em auto;
|
49 |
+
padding: 1em 2em;
|
50 |
+
max-width: 700px;
|
51 |
+
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
52 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
53 |
+
}
|
54 |
+
h1 {
|
55 |
+
border-bottom: 1px solid #dadada;
|
56 |
+
clear: both;
|
57 |
+
color: #666;
|
58 |
+
font: 24px "Open Sans", sans-serif;
|
59 |
+
margin: 30px 0 0 0;
|
60 |
+
padding: 0;
|
61 |
+
padding-bottom: 7px;
|
62 |
+
}
|
63 |
+
#notice-page {
|
64 |
+
margin-top: 50px;
|
65 |
+
}
|
66 |
+
#notice-page p {
|
67 |
+
font-size: 14px;
|
68 |
+
line-height: 1.5;
|
69 |
+
margin: 25px 0 20px;
|
70 |
+
}
|
71 |
+
#notice-page code {
|
72 |
+
font-family: Consolas, Monaco, monospace;
|
73 |
+
}
|
74 |
+
.notice-message {
|
75 |
+
line-height: 26px;
|
76 |
+
padding: 8px;
|
77 |
+
background-color: #f2f2f2;
|
78 |
+
border: 1px solid #ccc;
|
79 |
+
padding: 10px;
|
80 |
+
text-align:center;
|
81 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
82 |
+
margin-top:25px;
|
83 |
+
}
|
84 |
+
ul li {
|
85 |
+
margin-bottom: 10px;
|
86 |
+
font-size: 14px ;
|
87 |
+
}
|
88 |
+
a {
|
89 |
+
color: #21759B;
|
90 |
+
text-decoration: none;
|
91 |
+
}
|
92 |
+
a:hover {
|
93 |
+
color: #D54E21;
|
94 |
+
}
|
95 |
+
</style>
|
96 |
+
<head>
|
97 |
+
<body id="notice-page">
|
98 |
+
<table width="100%" border="0">
|
99 |
+
<tr>
|
100 |
+
<td align="center"><img src="<?php echo $assets_base_url ?>alert.png" /></td>
|
101 |
+
</tr>
|
102 |
+
<tr>
|
103 |
+
<td align="center">
|
104 |
+
<div class="notice-message">
|
105 |
+
<?php echo nl2br( $message ); ?>
|
106 |
+
</div>
|
107 |
+
</td>
|
108 |
+
</tr>
|
109 |
+
</table>
|
110 |
+
</body>
|
111 |
+
</html>
|
112 |
+
<?php
|
113 |
+
die();
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
// --------------------------------------------------------------------
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Display an error page to the user and kill WordPress execution.
|
121 |
+
*
|
122 |
+
* This function differ than wsl_render_notice_page as it have some extra parameters and also should allow debugging
|
123 |
+
*
|
124 |
+
* This function is used when WSL fails to authenticated a user with social networks
|
125 |
+
*
|
126 |
+
* Note:
|
127 |
+
* In case you want to customize the content generated, you may define this function in 'wordpress-social-login-custom.php'
|
128 |
+
* Just make sure the script DIES at the end.
|
129 |
+
*
|
130 |
+
* The $message to display for users is passed as a parameter and is required.
|
131 |
+
*/
|
132 |
+
if( ! function_exists( 'wsl_render_error_page' ) )
|
133 |
+
{
|
134 |
+
function wsl_render_error_page( $message, $notes = null, $php_exception = null, $php_extras_vars_to_debug = array() )
|
135 |
+
{
|
136 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
137 |
+
?>
|
138 |
+
<!DOCTYPE html>
|
139 |
+
<head>
|
140 |
+
<meta name="robots" content="NOINDEX, NOFOLLOW">
|
141 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
142 |
+
<title><?php bloginfo('name'); ?> - <?php _wsl_e("Oops! We ran into an issue", 'wordpress-social-login') ?>.</title>
|
143 |
+
<style type="text/css">
|
144 |
+
html {
|
145 |
+
background: #f1f1f1;
|
146 |
+
}
|
147 |
+
body {
|
148 |
+
background: #fff;
|
149 |
+
color: #444;
|
150 |
+
font-family: "Open Sans", sans-serif;
|
151 |
+
margin: 2em auto;
|
152 |
+
padding: 1em 2em;
|
153 |
+
max-width: 700px;
|
154 |
+
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
155 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
156 |
+
}
|
157 |
+
h4 {
|
158 |
+
color: #666;
|
159 |
+
font: 20px "Open Sans", sans-serif;
|
160 |
+
margin: 0;
|
161 |
+
padding: 0;
|
162 |
+
padding-bottom: 7px;
|
163 |
+
}
|
164 |
+
#error-page {
|
165 |
+
margin-top: 50px;
|
166 |
+
}
|
167 |
+
#error-page p {
|
168 |
+
font-size: 14px;
|
169 |
+
line-height: 1.5;
|
170 |
+
margin: 15px 0;
|
171 |
+
line-height: 25px;
|
172 |
+
padding: 10px;
|
173 |
+
text-align:left;
|
174 |
+
}
|
175 |
+
#error-page pre {
|
176 |
+
max-width: 680px;
|
177 |
+
overflow: scroll;
|
178 |
+
padding: 5px;
|
179 |
+
background: none repeat scroll 0 0 #F5F5F5;
|
180 |
+
border-radius:3px;
|
181 |
+
font-family: Consolas, Monaco, monospace;
|
182 |
+
}
|
183 |
+
.error-message {
|
184 |
+
line-height: 26px;
|
185 |
+
padding: 8px;
|
186 |
+
background-color: #f2f2f2;
|
187 |
+
border: 1px solid #ccc;
|
188 |
+
padding: 10px;
|
189 |
+
text-align:center;
|
190 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
191 |
+
margin-top:25px;
|
192 |
+
}
|
193 |
+
a {
|
194 |
+
color: #21759B;
|
195 |
+
text-decoration: none;
|
196 |
+
}
|
197 |
+
a:hover {
|
198 |
+
color: #D54E21;
|
199 |
+
}
|
200 |
+
</style>
|
201 |
+
</head>
|
202 |
+
<body id="error-page">
|
203 |
+
<table width="100%" border="0">
|
204 |
+
<tr>
|
205 |
+
<td align="center"><img src="<?php echo $assets_base_url ?>alert.png" /></td>
|
206 |
+
</tr>
|
207 |
+
|
208 |
+
<tr>
|
209 |
+
<td align="center"><h4><?php _wsl_e("Oops! We ran into an issue", 'wordpress-social-login') ?>.</h4></td>
|
210 |
+
</tr>
|
211 |
+
|
212 |
+
<tr>
|
213 |
+
<td>
|
214 |
+
<div class="error-message">
|
215 |
+
<?php echo $message ; ?>
|
216 |
+
</div>
|
217 |
+
|
218 |
+
<?php
|
219 |
+
// any hint or extra note?
|
220 |
+
if( $notes ) {
|
221 |
+
?>
|
222 |
+
<p><?php _wsl_e( $notes, 'wordpress-social-login'); ?></p>
|
223 |
+
<?php
|
224 |
+
}
|
225 |
+
?>
|
226 |
+
</td>
|
227 |
+
</tr>
|
228 |
+
</table>
|
229 |
+
|
230 |
+
<?php
|
231 |
+
// Development mode on?
|
232 |
+
if( get_option( 'wsl_settings_development_mode_enabled' ) ){
|
233 |
+
wsl_render_error_page_debug_section( $php_exception, $php_extras_vars_to_debug );
|
234 |
+
}
|
235 |
+
?>
|
236 |
+
</body>
|
237 |
+
</html>
|
238 |
+
<?php
|
239 |
+
die();
|
240 |
+
}
|
241 |
+
}
|
242 |
+
|
243 |
+
// --------------------------------------------------------------------
|
244 |
+
|
245 |
+
/**
|
246 |
+
* Display an extra debugging section to the error page, in case Mode Dev is on
|
247 |
+
*/
|
248 |
+
function wsl_render_error_page_debug_section( $php_exception, $php_extras_vars_to_debug )
|
249 |
+
{
|
250 |
+
?>
|
251 |
+
<hr />
|
252 |
+
|
253 |
+
<h3>Backtrace</h3>
|
254 |
+
<pre><?php debug_print_backtrace(); ?></pre>
|
255 |
+
|
256 |
+
<h3>PHP Exception</h3>
|
257 |
+
<pre><?php print_r( $php_exception ) ?></pre>
|
258 |
+
|
259 |
+
<?php
|
260 |
+
// try to provide the previous if any
|
261 |
+
// Exception::getPrevious (PHP 5 >= 5.3.0) http://php.net/manual/en/exception.getprevious.php
|
262 |
+
if ( version_compare( PHP_VERSION, '5.3.0', '>=' ) ) {
|
263 |
+
if ( $php_exception->getPrevious() ) {
|
264 |
+
?>
|
265 |
+
<h3>Previous Exception</h3>
|
266 |
+
<pre><?php print_r( $php_exception->getPrevious() ) ?></pre>
|
267 |
+
<?php
|
268 |
+
}
|
269 |
+
}
|
270 |
+
?>
|
271 |
+
|
272 |
+
<h3>Extras vars to debug</h3>
|
273 |
+
<pre><?php print_r( $php_extras_vars_to_debug ) ?></pre>
|
274 |
+
|
275 |
+
<?php wsl_display_dev_mode_debugging_area(); ?>
|
276 |
+
|
277 |
+
<br />
|
278 |
+
|
279 |
+
<small>
|
280 |
+
<?php _wsl_e("<strong>Note:</strong> This debugging area can be disabled from the plugin settings by setting <b>Development mode</b> to <b>Disabled</b>", 'wordpress-social-login'); ?>.
|
281 |
+
</small>
|
282 |
+
<?php
|
283 |
+
}
|
284 |
+
|
285 |
+
// --------------------------------------------------------------------
|
includes/widgets/wsl.loading.screens.php
ADDED
@@ -0,0 +1,200 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*!
|
3 |
+
* WordPress Social Login
|
4 |
+
*
|
5 |
+
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
+
* (c) 2011-2014 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
+
*/
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Generate WSL loading screens.
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
15 |
+
|
16 |
+
// --------------------------------------------------------------------
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Display a loading screen while the WSL is redirecting the user to a given provider for authentication
|
20 |
+
*
|
21 |
+
* Note:
|
22 |
+
* In case you want to customize the content generated, you may define this function in 'wp-social-login-custom.php'
|
23 |
+
* This function should redirect to the current url PLUS '&redirect_to_provider=true', see javascript function init() defined bellow
|
24 |
+
* And make sure the script DIES at the end.
|
25 |
+
*
|
26 |
+
* The $provider name is passed as a parameter.
|
27 |
+
*/
|
28 |
+
if( ! function_exists( 'wsl_render_redirect_to_provider_loading_screen' ) )
|
29 |
+
{
|
30 |
+
function wsl_render_redirect_to_provider_loading_screen( $provider )
|
31 |
+
{
|
32 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
33 |
+
?>
|
34 |
+
<!DOCTYPE html>
|
35 |
+
<head>
|
36 |
+
<meta name="robots" content="NOINDEX, NOFOLLOW">
|
37 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
38 |
+
<title><?php _wsl_e("Redirecting...", 'wordpress-social-login') ?> - <?php bloginfo('name'); ?></title>
|
39 |
+
<style type="text/css">
|
40 |
+
html {
|
41 |
+
background: #f1f1f1;
|
42 |
+
}
|
43 |
+
body {
|
44 |
+
background: #fff;
|
45 |
+
color: #444;
|
46 |
+
font-family: "Open Sans", sans-serif;
|
47 |
+
margin: 2em auto;
|
48 |
+
padding: 1em 2em;
|
49 |
+
max-width: 700px;
|
50 |
+
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
51 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
52 |
+
}
|
53 |
+
#loading-screen {
|
54 |
+
margin-top: 50px;
|
55 |
+
}
|
56 |
+
#loading-screen div{
|
57 |
+
line-height: 20px;
|
58 |
+
padding: 8px;
|
59 |
+
background-color: #f2f2f2;
|
60 |
+
border: 1px solid #ccc;
|
61 |
+
padding: 10px;
|
62 |
+
text-align:center;
|
63 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
64 |
+
margin-top:25px;
|
65 |
+
}
|
66 |
+
</style>
|
67 |
+
<script>
|
68 |
+
function init(){
|
69 |
+
window.location.replace( window.location.href + "&redirect_to_provider=true" );
|
70 |
+
}
|
71 |
+
</script>
|
72 |
+
</head>
|
73 |
+
<body id="loading-screen" onload="init();">
|
74 |
+
<table width="100%" border="0">
|
75 |
+
<tr>
|
76 |
+
<td align="center"><img src="<?php echo $assets_base_url ?>/loading.gif" /></td>
|
77 |
+
</tr>
|
78 |
+
<tr>
|
79 |
+
<td align="center">
|
80 |
+
<div>
|
81 |
+
<?php echo sprintf( _wsl__( "Contacting <b>%s</b>, please wait...", 'wordpress-social-login'), ucfirst( $provider ) ) ?>
|
82 |
+
</div>
|
83 |
+
</td>
|
84 |
+
</tr>
|
85 |
+
</table>
|
86 |
+
</body>
|
87 |
+
</html>
|
88 |
+
<?php
|
89 |
+
die();
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Display a loading screen after a user come back from provider and while WSL is procession his profile, contacts, etc.
|
95 |
+
*
|
96 |
+
* Note:
|
97 |
+
* In case you want to customize the content generated, you may define this function in 'wp-social-login-custom.php'
|
98 |
+
*/
|
99 |
+
if( ! function_exists( 'wsl_render_return_from_provider_loading_screen' ) )
|
100 |
+
{
|
101 |
+
function wsl_render_return_from_provider_loading_screen( $provider, $authenticated_url, $redirect_to, $wsl_settings_use_popup )
|
102 |
+
{
|
103 |
+
$assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/';
|
104 |
+
?>
|
105 |
+
<!DOCTYPE html>
|
106 |
+
<head>
|
107 |
+
<meta name="robots" content="NOINDEX, NOFOLLOW">
|
108 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
109 |
+
<title><?php _wsl_e("Redirecting...", 'wordpress-social-login') ?> - <?php bloginfo('name'); ?></title>
|
110 |
+
<style type="text/css">
|
111 |
+
html {
|
112 |
+
background: #f1f1f1;
|
113 |
+
}
|
114 |
+
body {
|
115 |
+
background: #fff;
|
116 |
+
color: #444;
|
117 |
+
font-family: "Open Sans", sans-serif;
|
118 |
+
margin: 2em auto;
|
119 |
+
padding: 1em 2em;
|
120 |
+
max-width: 700px;
|
121 |
+
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
122 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
123 |
+
}
|
124 |
+
#loading-screen {
|
125 |
+
margin-top: 50px;
|
126 |
+
}
|
127 |
+
#loading-screen div{
|
128 |
+
line-height: 20px;
|
129 |
+
padding: 8px;
|
130 |
+
background-color: #f2f2f2;
|
131 |
+
border: 1px solid #ccc;
|
132 |
+
padding: 10px;
|
133 |
+
text-align:center;
|
134 |
+
box-shadow: 0 1px 3px rgba(0,0,0,0.13);
|
135 |
+
margin-top:25px;
|
136 |
+
}
|
137 |
+
</style>
|
138 |
+
<script>
|
139 |
+
function init()
|
140 |
+
{
|
141 |
+
<?php
|
142 |
+
// if Authentication display is undefined or eq Popup
|
143 |
+
// > create a from with javascript in parent window and submit it to wp-login.php
|
144 |
+
// > (with action=wordpress_social_authenticated), then close popup
|
145 |
+
if( $wsl_settings_use_popup == 1 || ! $wsl_settings_use_popup ){
|
146 |
+
?>
|
147 |
+
if( window.opener )
|
148 |
+
{
|
149 |
+
window.opener.wsl_wordpress_social_login({
|
150 |
+
'action' : 'wordpress_social_authenticated',
|
151 |
+
'provider' : '<?php echo $provider ?>'
|
152 |
+
});
|
153 |
+
|
154 |
+
window.close();
|
155 |
+
}
|
156 |
+
else
|
157 |
+
{
|
158 |
+
document.loginform.submit();
|
159 |
+
}
|
160 |
+
<?php
|
161 |
+
}
|
162 |
+
|
163 |
+
// if Authentication display eq In Page
|
164 |
+
// > create a from in page then submit it to wp-login.php (with action=wordpress_social_authenticated)
|
165 |
+
elseif( $wsl_settings_use_popup == 2 ){
|
166 |
+
?>
|
167 |
+
document.loginform.submit();
|
168 |
+
<?php
|
169 |
+
}
|
170 |
+
?>
|
171 |
+
}
|
172 |
+
</script>
|
173 |
+
</head>
|
174 |
+
<body id="loading-screen" onload="init();">
|
175 |
+
<table width="100%" border="0">
|
176 |
+
<tr>
|
177 |
+
<td align="center"><img src="<?php echo $assets_base_url ?>/loading.gif" /></td>
|
178 |
+
</tr>
|
179 |
+
<tr>
|
180 |
+
<td align="center">
|
181 |
+
<div>
|
182 |
+
<?php echo _wsl_e( "Processing, please wait...", 'wordpress-social-login'); ?>
|
183 |
+
</div>
|
184 |
+
</td>
|
185 |
+
</tr>
|
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>
|
193 |
+
</body>
|
194 |
+
</html>
|
195 |
+
<?php
|
196 |
+
die();
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
// --------------------------------------------------------------------
|
includes/widgets/wsl.notices.php
DELETED
@@ -1,67 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*!
|
3 |
-
* WordPress Social Login
|
4 |
-
*
|
5 |
-
* http://hybridauth.sourceforge.net/wsl/index.html | http://github.com/hybridauth/WordPress-Social-Login
|
6 |
-
* (c) 2011-2013 Mohamed Mrassi and contributors | http://wordpress.org/extend/plugins/wordpress-social-login/
|
7 |
-
*/
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Kill WordPress execution and display HTML message with error message.
|
11 |
-
* similar to wp_die, but with (will have) more features or wp_die not defined
|
12 |
-
*/
|
13 |
-
|
14 |
-
// Exit if accessed directly
|
15 |
-
if ( !defined( 'ABSPATH' ) ) exit;
|
16 |
-
|
17 |
-
// --------------------------------------------------------------------
|
18 |
-
|
19 |
-
function wsl_render_notices_pages( $message )
|
20 |
-
{
|
21 |
-
// HOOKABLE:
|
22 |
-
do_action( 'wsl_hook_alter_render_notices_pages', $message );
|
23 |
-
?>
|
24 |
-
<!DOCTYPE html>
|
25 |
-
<head>
|
26 |
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
27 |
-
<title><?php echo get_bloginfo('name'); ?></title>
|
28 |
-
<head>
|
29 |
-
<style>
|
30 |
-
html {
|
31 |
-
background: #f9f9f9;
|
32 |
-
}
|
33 |
-
#wsl {
|
34 |
-
background: #fff;
|
35 |
-
color: #333;
|
36 |
-
font-family: sans-serif;
|
37 |
-
margin: 2em auto;
|
38 |
-
padding: 1em 2em;
|
39 |
-
-webkit-border-radius: 3px;
|
40 |
-
border-radius: 3px;
|
41 |
-
border: 1px solid #dfdfdf;
|
42 |
-
max-width: 800px;
|
43 |
-
font-size: 14px;
|
44 |
-
}
|
45 |
-
</style>
|
46 |
-
</head>
|
47 |
-
<body>
|
48 |
-
<!--
|
49 |
-
wsl_render_notices_pages
|
50 |
-
WordPress Social Login Plugin ( <?php echo $_SESSION["wsl::plugin"] ?> )
|
51 |
-
http://wordpress.org/extend/plugins/wordpress-social-login/
|
52 |
-
-->
|
53 |
-
<div id="wsl">
|
54 |
-
<table width="100%" border="0">
|
55 |
-
<tr>
|
56 |
-
<td><?php echo $message ; ?></td>
|
57 |
-
</tr>
|
58 |
-
</table>
|
59 |
-
</div>
|
60 |
-
</body>
|
61 |
-
</html>
|
62 |
-
<?php
|
63 |
-
|
64 |
-
die();
|
65 |
-
}
|
66 |
-
|
67 |
-
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/readme.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
If you want to translate this plugin and you are new to WP/i18n, then we recommend check out this video:
|
2 |
+
|
3 |
+
Localizing and Translating WordPress Plugins
|
4 |
+
https://youtube.com/watch?v=aGN-hbMCPMg
|
5 |
+
|
6 |
+
Note: WSL uses _wsl_e() instead of _e() and _wsl__ instead of __()
|
languages/wordpress-social-login-ar.mo
DELETED
Binary file
|
languages/wordpress-social-login-ar.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:41+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Arabic – عربي (ar)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr " مرحباً بك في WordPress Social Login"
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr "جمعنا لك بعض الروابط لمساعدتك على البدء"
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr "الخطوات التالية"
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr "ساعدنا على ترجمة هذه الصفحة"
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "ساعدنا على ترجمة هذه الصفحة"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-de_DE.mo
DELETED
Binary file
|
languages/wordpress-social-login-de_DE.po
DELETED
@@ -1,1449 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:41+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: German - Deutsch (de_DE)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr "Willkommen!"
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
"Wir haben einige Links zusammengestellt, um dir den Start zu erleichtern"
|
53 |
-
|
54 |
-
#: includes/admin/wsl.admin.ui.php:576
|
55 |
-
msgid "Get Started"
|
56 |
-
msgstr "Nächster Schritt"
|
57 |
-
|
58 |
-
#: includes/admin/wsl.admin.ui.php:579
|
59 |
-
msgid ""
|
60 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
61 |
-
"\"_blank\">Setup and Configuration</a>"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: includes/admin/wsl.admin.ui.php:580
|
65 |
-
msgid ""
|
66 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
67 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
68 |
-
msgstr ""
|
69 |
-
|
70 |
-
#: includes/admin/wsl.admin.ui.php:581
|
71 |
-
msgid ""
|
72 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
73 |
-
"\"_blank\">Manage users and contacts</a>"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: includes/admin/wsl.admin.ui.php:582
|
77 |
-
msgid ""
|
78 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
79 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
80 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
81 |
-
msgstr ""
|
82 |
-
|
83 |
-
#: includes/admin/wsl.admin.ui.php:588
|
84 |
-
#, php-format
|
85 |
-
msgid "What's new on WSL %s"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: includes/admin/wsl.admin.ui.php:591
|
89 |
-
msgid ""
|
90 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
91 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#: includes/admin/wsl.admin.ui.php:592
|
95 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
96 |
-
msgstr ""
|
97 |
-
|
98 |
-
#: includes/admin/wsl.admin.ui.php:593
|
99 |
-
msgid ""
|
100 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
101 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: includes/admin/wsl.admin.ui.php:594
|
105 |
-
msgid "A number of enhancements and new options now available"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: includes/admin/wsl.admin.ui.php:644
|
109 |
-
msgid "Contributor License Agreement"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: includes/admin/wsl.admin.ui.php:649
|
113 |
-
msgid ""
|
114 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
115 |
-
"Website to be reviewed for inclusion in future versions"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: includes/admin/wsl.admin.ui.php:651
|
119 |
-
msgid ""
|
120 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
121 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
122 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
123 |
-
msgstr ""
|
124 |
-
|
125 |
-
#: includes/admin/wsl.admin.ui.php:657
|
126 |
-
msgid "Hell No"
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: includes/admin/wsl.admin.ui.php:658
|
130 |
-
msgid "Yes, I agree to contribute my translation"
|
131 |
-
msgstr ""
|
132 |
-
|
133 |
-
#: includes/admin/wsl.admin.ui.php:662
|
134 |
-
msgid "Help us localize WordPress Social Login"
|
135 |
-
msgstr "Help ons om deze pagina te vertalen"
|
136 |
-
|
137 |
-
#: includes/admin/wsl.admin.ui.php:666
|
138 |
-
msgid ""
|
139 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
140 |
-
"don't have to translate everything in this page, but every word counts. "
|
141 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
142 |
-
"tool to fix any typo you may find or to improve the current language "
|
143 |
-
"expressions"
|
144 |
-
msgstr ""
|
145 |
-
|
146 |
-
#: includes/admin/wsl.admin.ui.php:668
|
147 |
-
msgid ""
|
148 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
149 |
-
"review, especially when you've been contributing in the past. So do supply "
|
150 |
-
"some unique string, even if it's not your real name"
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: includes/admin/wsl.admin.ui.php:670
|
154 |
-
msgid ""
|
155 |
-
"All the texts on this page are automatically extracted and generated on the "
|
156 |
-
"form beside. If the translation tool has scapped something you may consider "
|
157 |
-
"as irrelevant, please leave that particular field empty"
|
158 |
-
msgstr ""
|
159 |
-
|
160 |
-
#: includes/admin/wsl.admin.ui.php:672
|
161 |
-
msgid ""
|
162 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
163 |
-
"inclusion in future versions"
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: includes/admin/wsl.admin.ui.php:674
|
167 |
-
msgid "Thanks!"
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: includes/admin/wsl.admin.ui.php:682
|
171 |
-
msgid "Your Name"
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
175 |
-
msgid "optional"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: includes/admin/wsl.admin.ui.php:688
|
179 |
-
msgid "Comment"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: includes/admin/wsl.admin.ui.php:694
|
183 |
-
msgid "Target Language"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: includes/admin/wsl.admin.ui.php:703
|
187 |
-
msgid "Submit changes"
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: includes/admin/wsl.admin.ui.php:769
|
191 |
-
msgid "Help us translate this page into your language"
|
192 |
-
msgstr "Help ons om deze pagina te vertalen"
|
193 |
-
|
194 |
-
#: includes/admin/components/advanced/index.php:47
|
195 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
196 |
-
msgid "Advanced Settings"
|
197 |
-
msgstr ""
|
198 |
-
|
199 |
-
#: includes/admin/components/advanced/index.php:52
|
200 |
-
msgid ""
|
201 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
202 |
-
"are Advanced and you know what you are doing"
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: includes/admin/components/advanced/index.php:61
|
206 |
-
msgid "WSL Base URL"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: includes/admin/components/advanced/index.php:68
|
210 |
-
msgid "WSL Base PATH"
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: includes/admin/components/advanced/index.php:75
|
214 |
-
msgid "Hybridauth endpoint URL"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: includes/admin/components/advanced/index.php:82
|
218 |
-
msgid "WSL top bar menu"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#: includes/admin/components/advanced/index.php:85
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
228 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
229 |
-
msgid "Yes"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#: includes/admin/components/advanced/index.php:86
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
239 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
240 |
-
msgid "No"
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: includes/admin/components/advanced/index.php:98
|
244 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
245 |
-
#: includes/admin/components/contacts/index.php:98
|
246 |
-
#: includes/admin/components/diagnostics/index.php:64
|
247 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
249 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
250 |
-
msgid "Save Settings"
|
251 |
-
msgstr "Speichere Einstellungen"
|
252 |
-
|
253 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
254 |
-
msgid "WSL Widget"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
258 |
-
msgid ""
|
259 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
260 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
261 |
-
"works for WSL and will not interfere with users authenticating through the "
|
262 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
263 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
264 |
-
"another plugin(s) in combination with WSL)."
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
268 |
-
msgid "Accept new registration"
|
269 |
-
msgstr ""
|
270 |
-
|
271 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
272 |
-
msgid "Allow authentication"
|
273 |
-
msgstr ""
|
274 |
-
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
276 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
277 |
-
msgid "Profile Completion"
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
281 |
-
msgid ""
|
282 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
283 |
-
"will then ask your visitors to fill additional form to provide them when "
|
284 |
-
"registering."
|
285 |
-
msgstr ""
|
286 |
-
|
287 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
288 |
-
msgid ""
|
289 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
290 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
291 |
-
"avoid forms and remove all the hassle of registration"
|
292 |
-
msgstr ""
|
293 |
-
|
294 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
295 |
-
msgid "Require E-mail"
|
296 |
-
msgstr ""
|
297 |
-
|
298 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
299 |
-
msgid "Allow Username change"
|
300 |
-
msgstr ""
|
301 |
-
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
303 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
304 |
-
msgid "User Moderation"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
308 |
-
msgid ""
|
309 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
310 |
-
"regsitred users:"
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
314 |
-
msgid "<b>None</b>: No moderation required."
|
315 |
-
msgstr ""
|
316 |
-
|
317 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
318 |
-
msgid ""
|
319 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
320 |
-
"address before they may log in"
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
324 |
-
msgid ""
|
325 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
326 |
-
"administrator before they may log in"
|
327 |
-
msgstr ""
|
328 |
-
|
329 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
330 |
-
msgid ""
|
331 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
332 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
333 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
334 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
335 |
-
msgstr ""
|
336 |
-
|
337 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
338 |
-
msgid ""
|
339 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
340 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
341 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
342 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
346 |
-
msgid "None"
|
347 |
-
msgstr ""
|
348 |
-
|
349 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
350 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
351 |
-
msgstr ""
|
352 |
-
|
353 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
354 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
355 |
-
msgstr ""
|
356 |
-
|
357 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
358 |
-
msgid "Membership level"
|
359 |
-
msgstr ""
|
360 |
-
|
361 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
362 |
-
msgid ""
|
363 |
-
"Here you can define the default role for new users authenticating through "
|
364 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
365 |
-
"available for safety reasons"
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
369 |
-
msgid ""
|
370 |
-
"For more information about wordpress users roles and capabilities refer to "
|
371 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
372 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
373 |
-
"Roles_and_Capabilities</a>"
|
374 |
-
msgstr ""
|
375 |
-
|
376 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
377 |
-
msgid ""
|
378 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
379 |
-
"<b>Membership level</b> will be ignored"
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
383 |
-
msgid "New User Default Role"
|
384 |
-
msgstr ""
|
385 |
-
|
386 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
387 |
-
msgid "Safe"
|
388 |
-
msgstr ""
|
389 |
-
|
390 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
391 |
-
msgid "— Wordpress User Default Role —"
|
392 |
-
msgstr ""
|
393 |
-
|
394 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
395 |
-
msgid "— No role for this site —"
|
396 |
-
msgstr ""
|
397 |
-
|
398 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
399 |
-
msgid "Subscriber"
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
403 |
-
msgid "Be careful with these"
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
407 |
-
msgid "Author"
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
411 |
-
msgid "Contributor"
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
415 |
-
msgid "Filters by emails domains name"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
419 |
-
msgid "Restrict registration to a limited number of domains name."
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
423 |
-
msgid ""
|
424 |
-
"Insert one email address per line and try to keep this list short. On "
|
425 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
426 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
427 |
-
msgstr ""
|
428 |
-
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
431 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
432 |
-
#: includes/admin/components/contacts/index.php:51
|
433 |
-
#: includes/admin/components/contacts/index.php:58
|
434 |
-
#: includes/admin/components/contacts/index.php:65
|
435 |
-
#: includes/admin/components/contacts/index.php:72
|
436 |
-
#: includes/admin/components/contacts/index.php:79
|
437 |
-
#: includes/admin/components/diagnostics/index.php:61
|
438 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
439 |
-
msgid "Enabled"
|
440 |
-
msgstr "Aktiviert"
|
441 |
-
|
442 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
443 |
-
msgid "Domains list"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
448 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
449 |
-
msgid "Bounce text"
|
450 |
-
msgstr ""
|
451 |
-
|
452 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
453 |
-
msgid "Filters by e-mails addresses"
|
454 |
-
msgstr ""
|
455 |
-
|
456 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
457 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
458 |
-
msgstr ""
|
459 |
-
|
460 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
461 |
-
msgid ""
|
462 |
-
"Insert one email address per line and try to keep this list short. On "
|
463 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
464 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
465 |
-
msgstr ""
|
466 |
-
|
467 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
468 |
-
msgid "E-mails list"
|
469 |
-
msgstr ""
|
470 |
-
|
471 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
472 |
-
msgid "Filters by profile urls"
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
476 |
-
msgid "Restrict registration to a limited number of profile urls."
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
480 |
-
msgid ""
|
481 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
482 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
483 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
484 |
-
msgstr ""
|
485 |
-
|
486 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
487 |
-
msgid ""
|
488 |
-
"Insert one email address per line and try to keep this list short. On "
|
489 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
490 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
491 |
-
"google.com/u/0/108839241301472312344</code>"
|
492 |
-
msgstr ""
|
493 |
-
|
494 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
495 |
-
msgid "Profile urls"
|
496 |
-
msgstr ""
|
497 |
-
|
498 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
499 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
500 |
-
msgid "What's This?"
|
501 |
-
msgstr ""
|
502 |
-
|
503 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
504 |
-
msgid "Hey, meet our friend, the Bouncer"
|
505 |
-
msgstr ""
|
506 |
-
|
507 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
508 |
-
msgid ""
|
509 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
510 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
511 |
-
"have more or less the same role, and he will try his best to piss your users "
|
512 |
-
"off until they meet your requirements."
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
516 |
-
msgid ""
|
517 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
518 |
-
"door blog between friends or coworkers."
|
519 |
-
msgstr ""
|
520 |
-
|
521 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
522 |
-
msgid "Available settings"
|
523 |
-
msgstr ""
|
524 |
-
|
525 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
526 |
-
msgid "Enable/Disable Registration"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
530 |
-
msgid "Enable/Disable Authentication"
|
531 |
-
msgstr ""
|
532 |
-
|
533 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
534 |
-
msgid "Users moderation"
|
535 |
-
msgstr ""
|
536 |
-
|
537 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
538 |
-
msgid "Users roles"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
542 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
546 |
-
msgid "IMPORTANT!"
|
547 |
-
msgstr ""
|
548 |
-
|
549 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
550 |
-
msgid ""
|
551 |
-
"All the settings on this page without exception are only valid for users "
|
552 |
-
"authenticating through <b>WordPress Social Login Widget"
|
553 |
-
msgstr ""
|
554 |
-
|
555 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
556 |
-
msgid ""
|
557 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
558 |
-
"with their usernames and passwords WILL NOT be affected."
|
559 |
-
msgstr ""
|
560 |
-
|
561 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
562 |
-
msgid "Other Components available"
|
563 |
-
msgstr ""
|
564 |
-
|
565 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
566 |
-
msgid "WordPress Social Login for BuddyPress"
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
570 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
574 |
-
msgid "Widget integration, xProfiles mapping and more"
|
575 |
-
msgstr ""
|
576 |
-
|
577 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
578 |
-
msgid "Install Now"
|
579 |
-
msgstr ""
|
580 |
-
|
581 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
582 |
-
msgid "Visit plugin site"
|
583 |
-
msgstr ""
|
584 |
-
|
585 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
586 |
-
msgid "Build yours"
|
587 |
-
msgstr ""
|
588 |
-
|
589 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
590 |
-
msgid ""
|
591 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
592 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
593 |
-
msgstr ""
|
594 |
-
|
595 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
596 |
-
msgid "WSL Developer API"
|
597 |
-
msgstr ""
|
598 |
-
|
599 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
600 |
-
msgid "WSL on Github"
|
601 |
-
msgstr ""
|
602 |
-
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
604 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
605 |
-
msgid "Component"
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
609 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
610 |
-
msgid "Description"
|
611 |
-
msgstr ""
|
612 |
-
|
613 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
614 |
-
msgid "View"
|
615 |
-
msgstr ""
|
616 |
-
|
617 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
618 |
-
msgid "Disable"
|
619 |
-
msgstr ""
|
620 |
-
|
621 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
622 |
-
msgid "Enable"
|
623 |
-
msgstr ""
|
624 |
-
|
625 |
-
#: includes/admin/components/contacts/index.php:39
|
626 |
-
msgid "Settings"
|
627 |
-
msgstr ""
|
628 |
-
|
629 |
-
#: includes/admin/components/contacts/index.php:43
|
630 |
-
msgid ""
|
631 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
632 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
633 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
634 |
-
"that some social networks do not provide certains of their users information "
|
635 |
-
"like contacts emails, photos and or profile urls"
|
636 |
-
msgstr ""
|
637 |
-
|
638 |
-
#: includes/admin/components/contacts/index.php:45
|
639 |
-
msgid "Enable contacts import for"
|
640 |
-
msgstr ""
|
641 |
-
|
642 |
-
#: includes/admin/components/contacts/index.php:52
|
643 |
-
#: includes/admin/components/contacts/index.php:59
|
644 |
-
#: includes/admin/components/contacts/index.php:66
|
645 |
-
#: includes/admin/components/contacts/index.php:73
|
646 |
-
#: includes/admin/components/contacts/index.php:80
|
647 |
-
#: includes/admin/components/diagnostics/index.php:62
|
648 |
-
msgid "Disabled"
|
649 |
-
msgstr ""
|
650 |
-
|
651 |
-
#: includes/admin/components/contacts/index.php:86
|
652 |
-
msgid "Notes"
|
653 |
-
msgstr ""
|
654 |
-
|
655 |
-
#: includes/admin/components/contacts/index.php:88
|
656 |
-
msgid ""
|
657 |
-
"To enable contacts import from these social network, you need first to "
|
658 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
659 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
660 |
-
"application"
|
661 |
-
msgstr ""
|
662 |
-
|
663 |
-
#: includes/admin/components/contacts/index.php:89
|
664 |
-
msgid ""
|
665 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
666 |
-
"he was able to pull from the social networks APIs."
|
667 |
-
msgstr ""
|
668 |
-
|
669 |
-
#: includes/admin/components/contacts/index.php:90
|
670 |
-
msgid ""
|
671 |
-
"All contacts data are sotred into your database on the table: "
|
672 |
-
"<code>`wsluserscontacts`</code>"
|
673 |
-
msgstr ""
|
674 |
-
|
675 |
-
#: includes/admin/components/contacts/index.php:107
|
676 |
-
msgid "Users contacts list preview"
|
677 |
-
msgstr ""
|
678 |
-
|
679 |
-
#: includes/admin/components/contacts/index.php:114
|
680 |
-
#, php-format
|
681 |
-
msgid "%s contact's list"
|
682 |
-
msgstr ""
|
683 |
-
|
684 |
-
#: includes/admin/components/contacts/index.php:121
|
685 |
-
#: includes/admin/components/contacts/index.php:130
|
686 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
687 |
-
msgid "Provider"
|
688 |
-
msgstr ""
|
689 |
-
|
690 |
-
#: includes/admin/components/contacts/index.php:122
|
691 |
-
#: includes/admin/components/contacts/index.php:131
|
692 |
-
msgid "User"
|
693 |
-
msgstr ""
|
694 |
-
|
695 |
-
#: includes/admin/components/contacts/index.php:123
|
696 |
-
#: includes/admin/components/contacts/index.php:132
|
697 |
-
msgid "Contact Name"
|
698 |
-
msgstr ""
|
699 |
-
|
700 |
-
#: includes/admin/components/contacts/index.php:124
|
701 |
-
#: includes/admin/components/contacts/index.php:133
|
702 |
-
msgid "Contact Email"
|
703 |
-
msgstr ""
|
704 |
-
|
705 |
-
#: includes/admin/components/contacts/index.php:125
|
706 |
-
#: includes/admin/components/contacts/index.php:134
|
707 |
-
msgid "Contact Profile Url"
|
708 |
-
msgstr ""
|
709 |
-
|
710 |
-
#: includes/admin/components/contacts/index.php:150
|
711 |
-
msgid "No contacts found"
|
712 |
-
msgstr ""
|
713 |
-
|
714 |
-
#: includes/admin/components/diagnostics/index.php:24
|
715 |
-
msgid "Requirements test"
|
716 |
-
msgstr ""
|
717 |
-
|
718 |
-
#: includes/admin/components/diagnostics/index.php:27
|
719 |
-
msgid ""
|
720 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
721 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
722 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
723 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
724 |
-
"or <b>custom wordpress installations</b>"
|
725 |
-
msgstr ""
|
726 |
-
|
727 |
-
#: includes/admin/components/diagnostics/index.php:30
|
728 |
-
msgid "The minimum server requirements are"
|
729 |
-
msgstr ""
|
730 |
-
|
731 |
-
#: includes/admin/components/diagnostics/index.php:33
|
732 |
-
msgid "PHP >= 5.2.0 installed"
|
733 |
-
msgstr ""
|
734 |
-
|
735 |
-
#: includes/admin/components/diagnostics/index.php:34
|
736 |
-
msgid "WSL Endpoint URLs reachable"
|
737 |
-
msgstr ""
|
738 |
-
|
739 |
-
#: includes/admin/components/diagnostics/index.php:35
|
740 |
-
msgid "PHP's default SESSION handling"
|
741 |
-
msgstr ""
|
742 |
-
|
743 |
-
#: includes/admin/components/diagnostics/index.php:36
|
744 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
745 |
-
msgstr ""
|
746 |
-
|
747 |
-
#: includes/admin/components/diagnostics/index.php:37
|
748 |
-
msgid "PHP/JSON Extension enabled"
|
749 |
-
msgstr ""
|
750 |
-
|
751 |
-
#: includes/admin/components/diagnostics/index.php:38
|
752 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
753 |
-
msgstr ""
|
754 |
-
|
755 |
-
#: includes/admin/components/diagnostics/index.php:39
|
756 |
-
msgid "jQuery installed on WordPress backoffice"
|
757 |
-
msgstr ""
|
758 |
-
|
759 |
-
#: includes/admin/components/diagnostics/index.php:42
|
760 |
-
msgid ""
|
761 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
762 |
-
"the button bellow"
|
763 |
-
msgstr ""
|
764 |
-
|
765 |
-
#: includes/admin/components/diagnostics/index.php:46
|
766 |
-
msgid "Run the plugin requirements test"
|
767 |
-
msgstr ""
|
768 |
-
|
769 |
-
#: includes/admin/components/diagnostics/index.php:47
|
770 |
-
msgid "Website Information"
|
771 |
-
msgstr ""
|
772 |
-
|
773 |
-
#: includes/admin/components/diagnostics/index.php:53
|
774 |
-
msgid "Development mode"
|
775 |
-
msgstr ""
|
776 |
-
|
777 |
-
#: includes/admin/components/diagnostics/index.php:56
|
778 |
-
msgid ""
|
779 |
-
"By enabling the development mode, this plugin will try generate and display "
|
780 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
781 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
782 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
783 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
784 |
-
msgstr ""
|
785 |
-
|
786 |
-
#: includes/admin/components/help/index.php:25
|
787 |
-
msgid "Troubleshooting"
|
788 |
-
msgstr ""
|
789 |
-
|
790 |
-
#: includes/admin/components/help/index.php:27
|
791 |
-
msgid "WSL Diagnostics"
|
792 |
-
msgstr ""
|
793 |
-
|
794 |
-
#: includes/admin/components/help/index.php:29
|
795 |
-
msgid "System information"
|
796 |
-
msgstr ""
|
797 |
-
|
798 |
-
#: includes/admin/components/help/index.php:32
|
799 |
-
msgid ""
|
800 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
801 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
802 |
-
"<b>Development mode</b>"
|
803 |
-
msgstr ""
|
804 |
-
|
805 |
-
#: includes/admin/components/help/index.php:35
|
806 |
-
msgid ""
|
807 |
-
"Remember to include your System information when posting support requests"
|
808 |
-
msgstr ""
|
809 |
-
|
810 |
-
#: includes/admin/components/help/index.php:39
|
811 |
-
msgid "Documentation"
|
812 |
-
msgstr ""
|
813 |
-
|
814 |
-
#: includes/admin/components/help/index.php:41
|
815 |
-
msgid ""
|
816 |
-
"The complete <b>User Guide</b> can be found at\n"
|
817 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
818 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
819 |
-
msgstr ""
|
820 |
-
|
821 |
-
#: includes/admin/components/help/index.php:47
|
822 |
-
msgid "FAQs"
|
823 |
-
msgstr ""
|
824 |
-
|
825 |
-
#: includes/admin/components/help/index.php:49
|
826 |
-
msgid ""
|
827 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
828 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
829 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
830 |
-
msgstr ""
|
831 |
-
|
832 |
-
#: includes/admin/components/help/index.php:55
|
833 |
-
msgid "Support"
|
834 |
-
msgstr ""
|
835 |
-
|
836 |
-
#: includes/admin/components/help/index.php:57
|
837 |
-
msgid ""
|
838 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
839 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
840 |
-
"support.html</a>"
|
841 |
-
msgstr ""
|
842 |
-
|
843 |
-
#: includes/admin/components/help/index.php:62
|
844 |
-
msgid "Credits"
|
845 |
-
msgstr ""
|
846 |
-
|
847 |
-
#: includes/admin/components/help/index.php:64
|
848 |
-
msgid ""
|
849 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
850 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
851 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
852 |
-
"target=\"_blank\">contributors</a>"
|
853 |
-
msgstr ""
|
854 |
-
|
855 |
-
#: includes/admin/components/help/index.php:65
|
856 |
-
msgid ""
|
857 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
858 |
-
"support and by submitting patches"
|
859 |
-
msgstr ""
|
860 |
-
|
861 |
-
#: includes/admin/components/help/index.php:70
|
862 |
-
msgid "License"
|
863 |
-
msgstr ""
|
864 |
-
|
865 |
-
#: includes/admin/components/help/index.php:72
|
866 |
-
msgid ""
|
867 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
868 |
-
"MIT License (MIT)"
|
869 |
-
msgstr ""
|
870 |
-
|
871 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
872 |
-
msgid "Basic Settings"
|
873 |
-
msgstr ""
|
874 |
-
|
875 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
876 |
-
msgid "Connect with caption"
|
877 |
-
msgstr ""
|
878 |
-
|
879 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
880 |
-
msgid "Social icon set"
|
881 |
-
msgstr ""
|
882 |
-
|
883 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
884 |
-
msgid "WPZOOM social networking icon set"
|
885 |
-
msgstr ""
|
886 |
-
|
887 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
888 |
-
msgid "Icondock vector social media icons"
|
889 |
-
msgstr ""
|
890 |
-
|
891 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
892 |
-
msgid "Users avatars"
|
893 |
-
msgstr ""
|
894 |
-
|
895 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
896 |
-
msgid "Display the default users avatars"
|
897 |
-
msgstr ""
|
898 |
-
|
899 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
900 |
-
msgid "Display users avatars from social networks when available"
|
901 |
-
msgstr ""
|
902 |
-
|
903 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
904 |
-
msgid "Redirect URL"
|
905 |
-
msgstr ""
|
906 |
-
|
907 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
908 |
-
msgid "Authentication flow"
|
909 |
-
msgstr ""
|
910 |
-
|
911 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
912 |
-
msgid "Using popup window"
|
913 |
-
msgstr ""
|
914 |
-
|
915 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
916 |
-
msgid "No popup window"
|
917 |
-
msgstr ""
|
918 |
-
|
919 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
920 |
-
msgid "Widget display"
|
921 |
-
msgstr ""
|
922 |
-
|
923 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
924 |
-
msgid "Display the widget in the comments area, login and register forms"
|
925 |
-
msgstr ""
|
926 |
-
|
927 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
928 |
-
msgid "Display the widget ONLY in the comments area"
|
929 |
-
msgstr ""
|
930 |
-
|
931 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
932 |
-
msgid "Display the widget ONLY in the login form"
|
933 |
-
msgstr ""
|
934 |
-
|
935 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
936 |
-
msgid "Notification"
|
937 |
-
msgstr ""
|
938 |
-
|
939 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
940 |
-
msgid "No notification"
|
941 |
-
msgstr ""
|
942 |
-
|
943 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
944 |
-
msgid "Notify ONLY the blog admin of a new user"
|
945 |
-
msgstr ""
|
946 |
-
|
947 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
948 |
-
msgid "Custom CSS"
|
949 |
-
msgstr ""
|
950 |
-
|
951 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
952 |
-
msgid "Widget CSS"
|
953 |
-
msgstr ""
|
954 |
-
|
955 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
956 |
-
msgid ""
|
957 |
-
"To customize the default widget styles you can either: edit the css file "
|
958 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
959 |
-
"from this text area"
|
960 |
-
msgstr ""
|
961 |
-
|
962 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
963 |
-
msgid "The basic widget markup is the following"
|
964 |
-
msgstr ""
|
965 |
-
|
966 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
967 |
-
msgid "Widget Customization"
|
968 |
-
msgstr ""
|
969 |
-
|
970 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
971 |
-
msgid ""
|
972 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
973 |
-
"and define the way you want it to look and behave"
|
974 |
-
msgstr ""
|
975 |
-
|
976 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
977 |
-
msgid ""
|
978 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
979 |
-
"login and register forms enabling your website vistors and customers to "
|
980 |
-
"login via social networks"
|
981 |
-
msgstr ""
|
982 |
-
|
983 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
984 |
-
msgid ""
|
985 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
986 |
-
"somewhere else then refer to the next section"
|
987 |
-
msgstr ""
|
988 |
-
|
989 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
990 |
-
msgid "Custom integration"
|
991 |
-
msgstr ""
|
992 |
-
|
993 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
994 |
-
msgid ""
|
995 |
-
"If you want to add the social login widget to another location in your "
|
996 |
-
"theme, you can insert the following code in that location"
|
997 |
-
msgstr ""
|
998 |
-
|
999 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
1000 |
-
msgid "Or, for posts and pages"
|
1001 |
-
msgstr ""
|
1002 |
-
|
1003 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1004 |
-
msgid ""
|
1005 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1006 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1007 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1008 |
-
"website sidebar"
|
1009 |
-
msgstr ""
|
1010 |
-
|
1011 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1012 |
-
msgid ""
|
1013 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1014 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1015 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1016 |
-
msgstr ""
|
1017 |
-
|
1018 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1019 |
-
msgid "Widget preview"
|
1020 |
-
msgstr ""
|
1021 |
-
|
1022 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1023 |
-
msgid "This is a preview of what should be on the comments area"
|
1024 |
-
msgstr ""
|
1025 |
-
|
1026 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1027 |
-
msgid "Do not test it here"
|
1028 |
-
msgstr ""
|
1029 |
-
|
1030 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1031 |
-
msgid ""
|
1032 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1033 |
-
"through"
|
1034 |
-
msgstr ""
|
1035 |
-
|
1036 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1037 |
-
msgid "Well! none left."
|
1038 |
-
msgstr ""
|
1039 |
-
|
1040 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1041 |
-
msgid "Insights"
|
1042 |
-
msgstr ""
|
1043 |
-
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1045 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1046 |
-
msgid "Conversions"
|
1047 |
-
msgstr ""
|
1048 |
-
|
1049 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1050 |
-
msgid "WP users"
|
1051 |
-
msgstr ""
|
1052 |
-
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1054 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1055 |
-
msgid "WSL users"
|
1056 |
-
msgstr ""
|
1057 |
-
|
1058 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1059 |
-
msgid "By provider"
|
1060 |
-
msgstr ""
|
1061 |
-
|
1062 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1063 |
-
msgid "By gender"
|
1064 |
-
msgstr ""
|
1065 |
-
|
1066 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1067 |
-
msgid "By age"
|
1068 |
-
msgstr ""
|
1069 |
-
|
1070 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1071 |
-
msgid "yrs in average"
|
1072 |
-
msgstr ""
|
1073 |
-
|
1074 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1075 |
-
msgid "Application ID"
|
1076 |
-
msgstr ""
|
1077 |
-
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1080 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1081 |
-
msgid "Where do I get this info?"
|
1082 |
-
msgstr "Woher bekomme ich diese Info?"
|
1083 |
-
|
1084 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1085 |
-
msgid "Application Key"
|
1086 |
-
msgstr ""
|
1087 |
-
|
1088 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1089 |
-
msgid "Application Secret"
|
1090 |
-
msgstr ""
|
1091 |
-
|
1092 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1093 |
-
msgid "Note"
|
1094 |
-
msgstr ""
|
1095 |
-
|
1096 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1097 |
-
#, php-format
|
1098 |
-
msgid ""
|
1099 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1100 |
-
"email will then be generated for them instead"
|
1101 |
-
msgstr ""
|
1102 |
-
|
1103 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1104 |
-
msgid ""
|
1105 |
-
"To change this behaviour and to force new registered users to provide their "
|
1106 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1107 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1108 |
-
"<b>Profile Completion</b>"
|
1109 |
-
msgstr ""
|
1110 |
-
|
1111 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1112 |
-
msgid ""
|
1113 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1114 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1115 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1116 |
-
"what we call an application credentials"
|
1117 |
-
msgstr ""
|
1118 |
-
|
1119 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1120 |
-
#, php-format
|
1121 |
-
msgid ""
|
1122 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1123 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1124 |
-
"access your website"
|
1125 |
-
msgstr ""
|
1126 |
-
|
1127 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1128 |
-
msgid ""
|
1129 |
-
"These credentials may also differ in format, name and content depending on "
|
1130 |
-
"the social network."
|
1131 |
-
msgstr ""
|
1132 |
-
|
1133 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1134 |
-
#, php-format
|
1135 |
-
msgid ""
|
1136 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1137 |
-
"Application</b>, carefully follow the steps"
|
1138 |
-
msgstr ""
|
1139 |
-
|
1140 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1141 |
-
#, php-format
|
1142 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1143 |
-
msgstr ""
|
1144 |
-
"<b>Fertig.</b> Du musst keine weiteren Schritte für die Aktivierung bei <b>"
|
1145 |
-
"%s</b> machen"
|
1146 |
-
|
1147 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1148 |
-
msgid "And that's it!"
|
1149 |
-
msgstr "Und das war's!"
|
1150 |
-
|
1151 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1152 |
-
#, php-format
|
1153 |
-
msgid ""
|
1154 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1155 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1156 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1157 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1158 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1159 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1160 |
-
"login&wslp=help\">ask for support</a>"
|
1161 |
-
msgstr ""
|
1162 |
-
|
1163 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1164 |
-
msgid "Why, hello there"
|
1165 |
-
msgstr ""
|
1166 |
-
|
1167 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1168 |
-
msgid ""
|
1169 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1170 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1171 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1172 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1173 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1174 |
-
msgstr ""
|
1175 |
-
|
1176 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1177 |
-
msgid ""
|
1178 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1179 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1180 |
-
"to reach me"
|
1181 |
-
msgstr ""
|
1182 |
-
|
1183 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1184 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1185 |
-
msgid "Providers"
|
1186 |
-
msgstr ""
|
1187 |
-
|
1188 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1189 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1190 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1191 |
-
msgid "Username"
|
1192 |
-
msgstr ""
|
1193 |
-
|
1194 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1195 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1196 |
-
msgid "Full Name"
|
1197 |
-
msgstr ""
|
1198 |
-
|
1199 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1200 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1201 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1202 |
-
msgid "E-mail"
|
1203 |
-
msgstr ""
|
1204 |
-
|
1205 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1206 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1207 |
-
msgid "Profile URL"
|
1208 |
-
msgstr ""
|
1209 |
-
|
1210 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1211 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1212 |
-
#: includes/settings/wsl.initialization.php:400
|
1213 |
-
msgid "Contacts"
|
1214 |
-
msgstr ""
|
1215 |
-
|
1216 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1217 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1218 |
-
msgid "Actions"
|
1219 |
-
msgstr ""
|
1220 |
-
|
1221 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1222 |
-
msgid "No users found"
|
1223 |
-
msgstr ""
|
1224 |
-
|
1225 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1226 |
-
msgid "USER DOES NOT EXIST!"
|
1227 |
-
msgstr ""
|
1228 |
-
|
1229 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1230 |
-
msgid "User Profile"
|
1231 |
-
msgstr ""
|
1232 |
-
|
1233 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1234 |
-
#, php-format
|
1235 |
-
msgid "as provided by %s"
|
1236 |
-
msgstr ""
|
1237 |
-
|
1238 |
-
#: includes/services/wsl.authentication.php:64
|
1239 |
-
msgid "Bouncer say don't be silly!"
|
1240 |
-
msgstr ""
|
1241 |
-
|
1242 |
-
#: includes/services/wsl.authentication.php:70
|
1243 |
-
msgid "Bouncer say this makes no sense."
|
1244 |
-
msgstr ""
|
1245 |
-
|
1246 |
-
#: includes/services/wsl.authentication.php:77
|
1247 |
-
msgid "WSL is disabled!"
|
1248 |
-
msgstr ""
|
1249 |
-
|
1250 |
-
#: includes/services/wsl.authentication.php:99
|
1251 |
-
msgid "Bouncer says this makes no sense."
|
1252 |
-
msgstr ""
|
1253 |
-
|
1254 |
-
#: includes/services/wsl.authentication.php:107
|
1255 |
-
msgid "Bouncer say you are doin it wrong."
|
1256 |
-
msgstr ""
|
1257 |
-
|
1258 |
-
#: includes/services/wsl.authentication.php:114
|
1259 |
-
msgid "You are already logged in as <b>%</b>."
|
1260 |
-
msgstr ""
|
1261 |
-
|
1262 |
-
#: includes/services/wsl.authentication.php:119
|
1263 |
-
#: includes/services/wsl.authentication.php:559
|
1264 |
-
msgid ""
|
1265 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1266 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1267 |
-
"kill it with fire!"
|
1268 |
-
msgstr ""
|
1269 |
-
|
1270 |
-
#: includes/services/wsl.authentication.php:130
|
1271 |
-
msgid "Unknown or disabled provider"
|
1272 |
-
msgstr ""
|
1273 |
-
|
1274 |
-
#: includes/services/wsl.authentication.php:262
|
1275 |
-
msgid "Unspecified error!"
|
1276 |
-
msgstr ""
|
1277 |
-
|
1278 |
-
#: includes/services/wsl.authentication.php:266
|
1279 |
-
msgid "Unspecified error."
|
1280 |
-
msgstr ""
|
1281 |
-
|
1282 |
-
#: includes/services/wsl.authentication.php:267
|
1283 |
-
msgid "Hybriauth configuration error."
|
1284 |
-
msgstr ""
|
1285 |
-
|
1286 |
-
#: includes/services/wsl.authentication.php:268
|
1287 |
-
msgid "Provider not properly configured."
|
1288 |
-
msgstr ""
|
1289 |
-
|
1290 |
-
#: includes/services/wsl.authentication.php:269
|
1291 |
-
msgid "Unknown or disabled provider."
|
1292 |
-
msgstr ""
|
1293 |
-
|
1294 |
-
#: includes/services/wsl.authentication.php:270
|
1295 |
-
msgid "Missing provider application credentials."
|
1296 |
-
msgstr ""
|
1297 |
-
|
1298 |
-
#: includes/services/wsl.authentication.php:271
|
1299 |
-
#, php-format
|
1300 |
-
msgid ""
|
1301 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1302 |
-
"correct application credentials for this provider. These credentials are "
|
1303 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1304 |
-
"WordPress Social Login to work."
|
1305 |
-
msgstr ""
|
1306 |
-
|
1307 |
-
#: includes/services/wsl.authentication.php:271
|
1308 |
-
msgid ""
|
1309 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1310 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1311 |
-
msgstr ""
|
1312 |
-
|
1313 |
-
#: includes/services/wsl.authentication.php:273
|
1314 |
-
msgid ""
|
1315 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1316 |
-
"provider refused the connection."
|
1317 |
-
msgstr ""
|
1318 |
-
|
1319 |
-
#: includes/services/wsl.authentication.php:274
|
1320 |
-
msgid ""
|
1321 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1322 |
-
"provider and he should to authenticate again."
|
1323 |
-
msgstr ""
|
1324 |
-
|
1325 |
-
#: includes/services/wsl.authentication.php:277
|
1326 |
-
msgid "User not connected to the provider."
|
1327 |
-
msgstr ""
|
1328 |
-
|
1329 |
-
#: includes/services/wsl.authentication.php:280
|
1330 |
-
msgid "Provider does not support this feature."
|
1331 |
-
msgstr ""
|
1332 |
-
|
1333 |
-
#: includes/services/wsl.authentication.php:323
|
1334 |
-
msgid "Something bad happen!"
|
1335 |
-
msgstr ""
|
1336 |
-
|
1337 |
-
#: includes/services/wsl.authentication.php:389
|
1338 |
-
msgid ""
|
1339 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1340 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1341 |
-
msgstr ""
|
1342 |
-
|
1343 |
-
#: includes/services/wsl.authentication.php:418
|
1344 |
-
msgid "Redirecting..."
|
1345 |
-
msgstr ""
|
1346 |
-
|
1347 |
-
#: includes/services/wsl.authentication.php:447
|
1348 |
-
#, php-format
|
1349 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1350 |
-
msgstr ""
|
1351 |
-
|
1352 |
-
#: includes/services/wsl.authentication.php:711
|
1353 |
-
msgid "registration is now closed!"
|
1354 |
-
msgstr ""
|
1355 |
-
|
1356 |
-
#: includes/services/wsl.authentication.php:733
|
1357 |
-
#, php-format
|
1358 |
-
msgid "Unspecified error. #%d"
|
1359 |
-
msgstr ""
|
1360 |
-
|
1361 |
-
#: includes/services/wsl.authentication.php:882
|
1362 |
-
msgid "An error occurred while creating a new user!"
|
1363 |
-
msgstr ""
|
1364 |
-
|
1365 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1366 |
-
msgid "Almost there, we just need to check a couple of things"
|
1367 |
-
msgstr ""
|
1368 |
-
|
1369 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1370 |
-
msgid "Continue"
|
1371 |
-
msgstr ""
|
1372 |
-
|
1373 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1374 |
-
msgid "E-mail is not valid!"
|
1375 |
-
msgstr ""
|
1376 |
-
|
1377 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1378 |
-
msgid "Username is not valid!"
|
1379 |
-
msgstr ""
|
1380 |
-
|
1381 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1382 |
-
msgid "That E-mail is already registered!"
|
1383 |
-
msgstr ""
|
1384 |
-
|
1385 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1386 |
-
msgid "That Username is already registered!"
|
1387 |
-
msgstr ""
|
1388 |
-
|
1389 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1390 |
-
msgid "You are now connected via"
|
1391 |
-
msgstr ""
|
1392 |
-
|
1393 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1394 |
-
msgid "Bouncer says no."
|
1395 |
-
msgstr ""
|
1396 |
-
|
1397 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1398 |
-
msgid "Bouncer say he refuses."
|
1399 |
-
msgstr ""
|
1400 |
-
|
1401 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1402 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1403 |
-
msgstr ""
|
1404 |
-
|
1405 |
-
#: includes/settings/wsl.initialization.php:59
|
1406 |
-
#: includes/settings/wsl.initialization.php:87
|
1407 |
-
msgid ""
|
1408 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1409 |
-
"in a bad way."
|
1410 |
-
msgstr ""
|
1411 |
-
|
1412 |
-
#: includes/settings/wsl.initialization.php:373
|
1413 |
-
msgid "WSL user profile"
|
1414 |
-
msgstr ""
|
1415 |
-
|
1416 |
-
#: includes/settings/wsl.initialization.php:374
|
1417 |
-
msgid "WSL user contacts"
|
1418 |
-
msgstr ""
|
1419 |
-
|
1420 |
-
#: includes/settings/wsl.initialization.php:400
|
1421 |
-
msgid "Profile"
|
1422 |
-
msgstr ""
|
1423 |
-
|
1424 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1425 |
-
msgid ""
|
1426 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1427 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1428 |
-
"administration page to configure this plugin.<br />For more information "
|
1429 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1430 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1431 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1432 |
-
"sourceforge.net</a>"
|
1433 |
-
msgstr ""
|
1434 |
-
|
1435 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1436 |
-
msgid "Social networks"
|
1437 |
-
msgstr ""
|
1438 |
-
|
1439 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1440 |
-
msgid "Identity"
|
1441 |
-
msgstr ""
|
1442 |
-
|
1443 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1444 |
-
msgid "Add more identities"
|
1445 |
-
msgstr ""
|
1446 |
-
|
1447 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1448 |
-
msgid "Currently connected to:"
|
1449 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-es_ES.mo
DELETED
Binary file
|
languages/wordpress-social-login-es_ES.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:41+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Español - España (es_ES)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr "Ayúdanos a traducir esta página"
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "Ayúdanos a traducir esta página"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-fr_FR.mo
DELETED
Binary file
|
languages/wordpress-social-login-fr_FR.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:41+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: English\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr "Bienvenue!"
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr "Aidez-nous à traduire WordPress Social Login"
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "Aidez-nous à traduire cette page"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-he_IL.mo
DELETED
Binary file
|
languages/wordpress-social-login-he_IL.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:42+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Hebrew - עברית (he_IL)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr ""
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-ja.mo
DELETED
Binary file
|
languages/wordpress-social-login-ja.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:42+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Japanese (日本語 - ja)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "私たちは、このページのローカライズに役立つ"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-ru_RU.mo
DELETED
Binary file
|
languages/wordpress-social-login-ru_RU.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:42+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Russian — Русский (ru_RU)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr "Помогите нам перевести эту страницу"
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "Помогите нам перевести эту страницу"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/faq.html\" target="
|
828 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/faq.html</a>"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: includes/admin/components/help/index.php:55
|
832 |
-
msgid "Support"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: includes/admin/components/help/index.php:57
|
836 |
-
msgid ""
|
837 |
-
"To get help and support refer to <a href=\"http://hybridauth.sourceforge.net/"
|
838 |
-
"wsl/support.html\" target=\"_blank\">http://hybridauth.sourceforge.net/wsl/"
|
839 |
-
"support.html</a>"
|
840 |
-
msgstr ""
|
841 |
-
|
842 |
-
#: includes/admin/components/help/index.php:62
|
843 |
-
msgid "Credits"
|
844 |
-
msgstr ""
|
845 |
-
|
846 |
-
#: includes/admin/components/help/index.php:64
|
847 |
-
msgid ""
|
848 |
-
"WordPress Social Login was created by <a href=\"http://profiles.wordpress."
|
849 |
-
"org/miled/\" target=\"_blank\">Mohamed Mrassi</a> (a.k.a Miled) and <a href="
|
850 |
-
"\"https://github.com/hybridauth/WordPress-Social-Login/graphs/contributors\" "
|
851 |
-
"target=\"_blank\">contributors</a>"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/components/help/index.php:65
|
855 |
-
msgid ""
|
856 |
-
"Many other people have also contributed with <br />constructive discussions, "
|
857 |
-
"support and by submitting patches"
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: includes/admin/components/help/index.php:70
|
861 |
-
msgid "License"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: includes/admin/components/help/index.php:72
|
865 |
-
msgid ""
|
866 |
-
"<b>WordPress Social Login</b> is an open source software licenced under The "
|
867 |
-
"MIT License (MIT)"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27
|
871 |
-
msgid "Basic Settings"
|
872 |
-
msgstr ""
|
873 |
-
|
874 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32
|
875 |
-
msgid "Connect with caption"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38
|
879 |
-
msgid "Social icon set"
|
880 |
-
msgstr ""
|
881 |
-
|
882 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41
|
883 |
-
msgid "WPZOOM social networking icon set"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42
|
887 |
-
msgid "Icondock vector social media icons"
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47
|
891 |
-
msgid "Users avatars"
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50
|
895 |
-
msgid "Display the default users avatars"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51
|
899 |
-
msgid "Display users avatars from social networks when available"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67
|
903 |
-
msgid "Redirect URL"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73
|
907 |
-
msgid "Authentication flow"
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76
|
911 |
-
msgid "Using popup window"
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77
|
915 |
-
msgid "No popup window"
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82
|
919 |
-
msgid "Widget display"
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85
|
923 |
-
msgid "Display the widget in the comments area, login and register forms"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86
|
927 |
-
msgid "Display the widget ONLY in the comments area"
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87
|
931 |
-
msgid "Display the widget ONLY in the login form"
|
932 |
-
msgstr ""
|
933 |
-
|
934 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92
|
935 |
-
msgid "Notification"
|
936 |
-
msgstr ""
|
937 |
-
|
938 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95
|
939 |
-
msgid "No notification"
|
940 |
-
msgstr ""
|
941 |
-
|
942 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96
|
943 |
-
msgid "Notify ONLY the blog admin of a new user"
|
944 |
-
msgstr ""
|
945 |
-
|
946 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107
|
947 |
-
msgid "Custom CSS"
|
948 |
-
msgstr ""
|
949 |
-
|
950 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112
|
951 |
-
msgid "Widget CSS"
|
952 |
-
msgstr ""
|
953 |
-
|
954 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114
|
955 |
-
msgid ""
|
956 |
-
"To customize the default widget styles you can either: edit the css file "
|
957 |
-
"<strong>/wordpress-social-login/assets/css/style.css</strong>, or change it "
|
958 |
-
"from this text area"
|
959 |
-
msgstr ""
|
960 |
-
|
961 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118
|
962 |
-
msgid "The basic widget markup is the following"
|
963 |
-
msgstr ""
|
964 |
-
|
965 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30
|
966 |
-
msgid "Widget Customization"
|
967 |
-
msgstr ""
|
968 |
-
|
969 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33
|
970 |
-
msgid ""
|
971 |
-
"On this section you can fully customize <b>WordPress Social Login Widget</b> "
|
972 |
-
"and define the way you want it to look and behave"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37
|
976 |
-
msgid ""
|
977 |
-
"<b>WordPress Social Login Widget</b> will be generated into the comments, "
|
978 |
-
"login and register forms enabling your website vistors and customers to "
|
979 |
-
"login via social networks"
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41
|
983 |
-
msgid ""
|
984 |
-
"If this widget does not show up on your custom theme or you want to add it "
|
985 |
-
"somewhere else then refer to the next section"
|
986 |
-
msgstr ""
|
987 |
-
|
988 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44
|
989 |
-
msgid "Custom integration"
|
990 |
-
msgstr ""
|
991 |
-
|
992 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47
|
993 |
-
msgid ""
|
994 |
-
"If you want to add the social login widget to another location in your "
|
995 |
-
"theme, you can insert the following code in that location"
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49
|
999 |
-
msgid "Or, for posts and pages"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54
|
1003 |
-
msgid ""
|
1004 |
-
"<b>[wordpress_social_login]</b> shortcode can be used in combination with <a "
|
1005 |
-
"href=\"http://wordpress.org/extend/plugins/html-javascript-adder/\" target="
|
1006 |
-
"\"_blank\">HTML Javascript Adder</a> plugin to be add WSL Widget to your "
|
1007 |
-
"website sidebar"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58
|
1011 |
-
msgid ""
|
1012 |
-
"Also, if you are a developer or designer then you can customize it to your "
|
1013 |
-
"heart's content. For more inofmation refer to <b><a href=\"http://hybridauth."
|
1014 |
-
"sourceforge.net/wsl/customize.html\" target=\"_blank\">User Guide</a></b>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61
|
1018 |
-
msgid "Widget preview"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64
|
1022 |
-
msgid "This is a preview of what should be on the comments area"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65
|
1026 |
-
msgid "Do not test it here"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:24
|
1030 |
-
msgid ""
|
1031 |
-
"And you could add even more of them, <b>Just Click</b> and we will guide you "
|
1032 |
-
"through"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: includes/admin/components/networks/wsl.components.networks.addmore.php:48
|
1036 |
-
msgid "Well! none left."
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36
|
1040 |
-
msgid "Insights"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40
|
1044 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49
|
1045 |
-
msgid "Conversions"
|
1046 |
-
msgstr ""
|
1047 |
-
|
1048 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43
|
1049 |
-
msgid "WP users"
|
1050 |
-
msgstr ""
|
1051 |
-
|
1052 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46
|
1053 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77
|
1054 |
-
msgid "WSL users"
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59
|
1058 |
-
msgid "By provider"
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85
|
1062 |
-
msgid "By gender"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108
|
1066 |
-
msgid "By age"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139
|
1070 |
-
msgid "yrs in average"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:126
|
1074 |
-
msgid "Application ID"
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:128
|
1078 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:134
|
1079 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:140
|
1080 |
-
msgid "Where do I get this info?"
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:132
|
1084 |
-
msgid "Application Key"
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:138
|
1088 |
-
msgid "Application Secret"
|
1089 |
-
msgstr ""
|
1090 |
-
|
1091 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:149
|
1092 |
-
msgid "Note"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:151
|
1096 |
-
#, php-format
|
1097 |
-
msgid ""
|
1098 |
-
"<b>%s</b> do not provide their user's email address and by default a random "
|
1099 |
-
"email will then be generated for them instead"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:153
|
1103 |
-
msgid ""
|
1104 |
-
"To change this behaviour and to force new registered users to provide their "
|
1105 |
-
"emails before they get in, goto <b><a href=\"options-general.php?"
|
1106 |
-
"page=wordpress-social-login&wslp=bouncer\">Bouncer</a></b> and enable "
|
1107 |
-
"<b>Profile Completion</b>"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:163
|
1111 |
-
msgid ""
|
1112 |
-
"<span style=\"color:#CB4B16;\">Application</span> id and secret (also "
|
1113 |
-
"sometimes referred as <span style=\"color:#CB4B16;\">Customer</span> key and "
|
1114 |
-
"secret or <span style=\"color:#CB4B16;\">Client</span> id and secret) are "
|
1115 |
-
"what we call an application credentials"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:165
|
1119 |
-
#, php-format
|
1120 |
-
msgid ""
|
1121 |
-
"This application will link your website <code>%s</code> to <code>%s API</"
|
1122 |
-
"code> and these credentials are needed in order for <b>%s</b> users to "
|
1123 |
-
"access your website"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:168
|
1127 |
-
msgid ""
|
1128 |
-
"These credentials may also differ in format, name and content depending on "
|
1129 |
-
"the social network."
|
1130 |
-
msgstr ""
|
1131 |
-
|
1132 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:172
|
1133 |
-
#, php-format
|
1134 |
-
msgid ""
|
1135 |
-
"To enable authentication with this provider and to register a new <b>%s API "
|
1136 |
-
"Application</b>, carefully follow the steps"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:175
|
1140 |
-
#, php-format
|
1141 |
-
msgid "<b>Done.</b> Nothing more required for <b>%s</b>"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:259
|
1145 |
-
msgid "And that's it!"
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:261
|
1149 |
-
#, php-format
|
1150 |
-
msgid ""
|
1151 |
-
"If for some reason you still can't figure it out, first try to a) <a class="
|
1152 |
-
"\"button-primary\" href=\"https://www.google.com/search?q=%s API create "
|
1153 |
-
"application\" target=\"_blank\">Google it</a>, then check it on b) <a class="
|
1154 |
-
"\"button-primary\" href=\"http://www.youtube.com/results?search_query=%s API "
|
1155 |
-
"create application \" target=\"_blank\">Youtube</a> and if nothing works c) "
|
1156 |
-
"<a class=\"button-primary\" href=\"options-general.php?page=wordpress-social-"
|
1157 |
-
"login&wslp=help\">ask for support</a>"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21
|
1161 |
-
msgid "Why, hello there"
|
1162 |
-
msgstr ""
|
1163 |
-
|
1164 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29
|
1165 |
-
msgid ""
|
1166 |
-
"If you are still new to things, we recommend that you read the <b><a href="
|
1167 |
-
"\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
1168 |
-
"\">Plugin User Guide</a></b> and to make sure your server settings meet this "
|
1169 |
-
"<b><a href=\"options-general.php?page=wordpress-social-login&"
|
1170 |
-
"wslp=diagnostics\">Plugin Requirements</a></b>"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32
|
1174 |
-
msgid ""
|
1175 |
-
"If you run into any issue then refer to <b><a href=\"options-general.php?"
|
1176 |
-
"page=wordpress-social-login&wslp=help\">Help & Support</a></b> to konw how "
|
1177 |
-
"to reach me"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: includes/admin/components/users/wsl.components.users.list.php:30
|
1181 |
-
#: includes/admin/components/users/wsl.components.users.list.php:41
|
1182 |
-
msgid "Providers"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/admin/components/users/wsl.components.users.list.php:31
|
1186 |
-
#: includes/admin/components/users/wsl.components.users.list.php:42
|
1187 |
-
#: includes/settings/wsl.compatibilities.php:104
|
1188 |
-
msgid "Username"
|
1189 |
-
msgstr ""
|
1190 |
-
|
1191 |
-
#: includes/admin/components/users/wsl.components.users.list.php:32
|
1192 |
-
#: includes/admin/components/users/wsl.components.users.list.php:43
|
1193 |
-
msgid "Full Name"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: includes/admin/components/users/wsl.components.users.list.php:33
|
1197 |
-
#: includes/admin/components/users/wsl.components.users.list.php:44
|
1198 |
-
#: includes/settings/wsl.compatibilities.php:100
|
1199 |
-
msgid "E-mail"
|
1200 |
-
msgstr ""
|
1201 |
-
|
1202 |
-
#: includes/admin/components/users/wsl.components.users.list.php:34
|
1203 |
-
#: includes/admin/components/users/wsl.components.users.list.php:45
|
1204 |
-
msgid "Profile URL"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: includes/admin/components/users/wsl.components.users.list.php:35
|
1208 |
-
#: includes/admin/components/users/wsl.components.users.list.php:46
|
1209 |
-
#: includes/settings/wsl.initialization.php:400
|
1210 |
-
msgid "Contacts"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/admin/components/users/wsl.components.users.list.php:36
|
1214 |
-
#: includes/admin/components/users/wsl.components.users.list.php:47
|
1215 |
-
msgid "Actions"
|
1216 |
-
msgstr ""
|
1217 |
-
|
1218 |
-
#: includes/admin/components/users/wsl.components.users.list.php:55
|
1219 |
-
msgid "No users found"
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:22
|
1223 |
-
msgid "USER DOES NOT EXIST!"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1227 |
-
msgid "User Profile"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: includes/admin/components/users/wsl.components.users.profile.php:43
|
1231 |
-
#, php-format
|
1232 |
-
msgid "as provided by %s"
|
1233 |
-
msgstr ""
|
1234 |
-
|
1235 |
-
#: includes/services/wsl.authentication.php:64
|
1236 |
-
msgid "Bouncer say don't be silly!"
|
1237 |
-
msgstr ""
|
1238 |
-
|
1239 |
-
#: includes/services/wsl.authentication.php:70
|
1240 |
-
msgid "Bouncer say this makes no sense."
|
1241 |
-
msgstr ""
|
1242 |
-
|
1243 |
-
#: includes/services/wsl.authentication.php:77
|
1244 |
-
msgid "WSL is disabled!"
|
1245 |
-
msgstr ""
|
1246 |
-
|
1247 |
-
#: includes/services/wsl.authentication.php:99
|
1248 |
-
msgid "Bouncer says this makes no sense."
|
1249 |
-
msgstr ""
|
1250 |
-
|
1251 |
-
#: includes/services/wsl.authentication.php:107
|
1252 |
-
msgid "Bouncer say you are doin it wrong."
|
1253 |
-
msgstr ""
|
1254 |
-
|
1255 |
-
#: includes/services/wsl.authentication.php:114
|
1256 |
-
msgid "You are already logged in as <b>%</b>."
|
1257 |
-
msgstr ""
|
1258 |
-
|
1259 |
-
#: includes/services/wsl.authentication.php:119
|
1260 |
-
#: includes/services/wsl.authentication.php:559
|
1261 |
-
msgid ""
|
1262 |
-
"Error: Another plugin seems to be using HybridAuth Library and made "
|
1263 |
-
"WordPress Social Login unusable. We recommand to find this plugin and to "
|
1264 |
-
"kill it with fire!"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/services/wsl.authentication.php:130
|
1268 |
-
msgid "Unknown or disabled provider"
|
1269 |
-
msgstr ""
|
1270 |
-
|
1271 |
-
#: includes/services/wsl.authentication.php:262
|
1272 |
-
msgid "Unspecified error!"
|
1273 |
-
msgstr ""
|
1274 |
-
|
1275 |
-
#: includes/services/wsl.authentication.php:266
|
1276 |
-
msgid "Unspecified error."
|
1277 |
-
msgstr ""
|
1278 |
-
|
1279 |
-
#: includes/services/wsl.authentication.php:267
|
1280 |
-
msgid "Hybriauth configuration error."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: includes/services/wsl.authentication.php:268
|
1284 |
-
msgid "Provider not properly configured."
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: includes/services/wsl.authentication.php:269
|
1288 |
-
msgid "Unknown or disabled provider."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: includes/services/wsl.authentication.php:270
|
1292 |
-
msgid "Missing provider application credentials."
|
1293 |
-
msgstr ""
|
1294 |
-
|
1295 |
-
#: includes/services/wsl.authentication.php:271
|
1296 |
-
#, php-format
|
1297 |
-
msgid ""
|
1298 |
-
"<b>What does this error mean ?</b><br />Most likely, you didn't setup the "
|
1299 |
-
"correct application credentials for this provider. These credentials are "
|
1300 |
-
"required in order for <b>%s</b> users to access your website and for "
|
1301 |
-
"WordPress Social Login to work."
|
1302 |
-
msgstr ""
|
1303 |
-
|
1304 |
-
#: includes/services/wsl.authentication.php:271
|
1305 |
-
msgid ""
|
1306 |
-
"<br />Instructions for use can be found in the <a href=\"http://hybridauth."
|
1307 |
-
"sourceforge.net/wsl/configure.html\" target=\"_blank\">User Manual</a>."
|
1308 |
-
msgstr ""
|
1309 |
-
|
1310 |
-
#: includes/services/wsl.authentication.php:273
|
1311 |
-
msgid ""
|
1312 |
-
"Authentification failed. The user has canceled the authentication or the "
|
1313 |
-
"provider refused the connection."
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: includes/services/wsl.authentication.php:274
|
1317 |
-
msgid ""
|
1318 |
-
"User profile request failed. Most likely the user is not connected to the "
|
1319 |
-
"provider and he should to authenticate again."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/services/wsl.authentication.php:277
|
1323 |
-
msgid "User not connected to the provider."
|
1324 |
-
msgstr ""
|
1325 |
-
|
1326 |
-
#: includes/services/wsl.authentication.php:280
|
1327 |
-
msgid "Provider does not support this feature."
|
1328 |
-
msgstr ""
|
1329 |
-
|
1330 |
-
#: includes/services/wsl.authentication.php:323
|
1331 |
-
msgid "Something bad happen!"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
-
#: includes/services/wsl.authentication.php:389
|
1335 |
-
msgid ""
|
1336 |
-
"Note: This message can be disabled from the plugin settings by setting "
|
1337 |
-
"<b>Development mode</b> to <b>Disabled</b>"
|
1338 |
-
msgstr ""
|
1339 |
-
|
1340 |
-
#: includes/services/wsl.authentication.php:418
|
1341 |
-
msgid "Redirecting..."
|
1342 |
-
msgstr ""
|
1343 |
-
|
1344 |
-
#: includes/services/wsl.authentication.php:447
|
1345 |
-
#, php-format
|
1346 |
-
msgid "Contacting <b>%s</b>, please wait..."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: includes/services/wsl.authentication.php:711
|
1350 |
-
msgid "registration is now closed!"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: includes/services/wsl.authentication.php:733
|
1354 |
-
#, php-format
|
1355 |
-
msgid "Unspecified error. #%d"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/services/wsl.authentication.php:882
|
1359 |
-
msgid "An error occurred while creating a new user!"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/settings/wsl.compatibilities.php:92
|
1363 |
-
msgid "Almost there, we just need to check a couple of things"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/settings/wsl.compatibilities.php:96
|
1367 |
-
msgid "Continue"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/settings/wsl.compatibilities.php:108
|
1371 |
-
msgid "E-mail is not valid!"
|
1372 |
-
msgstr ""
|
1373 |
-
|
1374 |
-
#: includes/settings/wsl.compatibilities.php:112
|
1375 |
-
msgid "Username is not valid!"
|
1376 |
-
msgstr ""
|
1377 |
-
|
1378 |
-
#: includes/settings/wsl.compatibilities.php:116
|
1379 |
-
msgid "That E-mail is already registered!"
|
1380 |
-
msgstr ""
|
1381 |
-
|
1382 |
-
#: includes/settings/wsl.compatibilities.php:120
|
1383 |
-
msgid "That Username is already registered!"
|
1384 |
-
msgstr ""
|
1385 |
-
|
1386 |
-
#: includes/settings/wsl.compatibilities.php:124
|
1387 |
-
msgid "You are now connected via"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/settings/wsl.compatibilities.php:140
|
1391 |
-
msgid "Bouncer says no."
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: includes/settings/wsl.compatibilities.php:148
|
1395 |
-
msgid "Bouncer say he refuses."
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: includes/settings/wsl.compatibilities.php:156
|
1399 |
-
msgid "Bouncer say only Mundo can go where he pleases!"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/settings/wsl.initialization.php:59
|
1403 |
-
#: includes/settings/wsl.initialization.php:87
|
1404 |
-
msgid ""
|
1405 |
-
"An installed plugin is trying to o-ver-write WordPress Social Login config "
|
1406 |
-
"in a bad way."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: includes/settings/wsl.initialization.php:373
|
1410 |
-
msgid "WSL user profile"
|
1411 |
-
msgstr ""
|
1412 |
-
|
1413 |
-
#: includes/settings/wsl.initialization.php:374
|
1414 |
-
msgid "WSL user contacts"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: includes/settings/wsl.initialization.php:400
|
1418 |
-
msgid "Profile"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: includes/widgets/wsl.auth.widget.php:124
|
1422 |
-
msgid ""
|
1423 |
-
"<strong style=\"color:red;\">WordPress Social Login is not configured yet!</"
|
1424 |
-
"strong><br />Please visit the <strong>Settings\\ WP Social Login</strong> "
|
1425 |
-
"administration page to configure this plugin.<br />For more information "
|
1426 |
-
"please refer to the plugin <a href=\"http://hybridauth.sourceforge.net/"
|
1427 |
-
"userguide/Plugin_WordPress_Social_Login.html\">online user guide</a> or "
|
1428 |
-
"contact us at <a href=\"http://hybridauth.sourceforge.net/\">hybridauth."
|
1429 |
-
"sourceforge.net</a>"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: includes/widgets/wsl.auth.widget.php:293
|
1433 |
-
msgid "Social networks"
|
1434 |
-
msgstr ""
|
1435 |
-
|
1436 |
-
#: includes/widgets/wsl.auth.widget.php:300
|
1437 |
-
msgid "Identity"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: includes/widgets/wsl.auth.widget.php:336
|
1441 |
-
msgid "Add more identities"
|
1442 |
-
msgstr ""
|
1443 |
-
|
1444 |
-
#: includes/widgets/wsl.auth.widget.php:375
|
1445 |
-
msgid "Currently connected to:"
|
1446 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wordpress-social-login-zh_CN.mo
DELETED
Binary file
|
languages/wordpress-social-login-zh_CN.po
DELETED
@@ -1,1446 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: WordPress Social Login\n"
|
4 |
-
"POT-Creation-Date: 2013-02-16 06:40+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-02-16 06:42+0100\n"
|
6 |
-
"Last-Translator: Miled <hybridauth@gmail.com>\n"
|
7 |
-
"Language-Team: WordPress Social Login <hybridauth@gmail.com>\n"
|
8 |
-
"Language: Chinese - 中文 (zh_CN)\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
|
14 |
-
#: includes/admin/wsl.admin.ui.php:332
|
15 |
-
msgid "Development mode is enabled!"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: includes/admin/wsl.admin.ui.php:407
|
19 |
-
#: includes/services/wsl.authentication.php:637
|
20 |
-
msgid "Something wrong!"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/admin/wsl.admin.ui.php:412
|
24 |
-
msgid ""
|
25 |
-
"Unknown or Disabled <b>Component</b>! Check the list of enabled components "
|
26 |
-
"or the typed URL"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: includes/admin/wsl.admin.ui.php:416
|
30 |
-
msgid ""
|
31 |
-
"If you believe you've found a problem with <b>WordPress Social Login</b>, be "
|
32 |
-
"sure to let us know so we can fix it"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/admin/wsl.admin.ui.php:422
|
36 |
-
msgid "Report as bug"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/admin/wsl.admin.ui.php:423
|
40 |
-
msgid "Check enabled components"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/admin/wsl.admin.ui.php:567
|
44 |
-
msgid "Welcome!"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/admin/wsl.admin.ui.php:569
|
48 |
-
msgid ""
|
49 |
-
"If you are still new to WordPress Social Login, we have provided a few "
|
50 |
-
"walkthroughs to get you started"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/admin/wsl.admin.ui.php:576
|
54 |
-
msgid "Get Started"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: includes/admin/wsl.admin.ui.php:579
|
58 |
-
msgid ""
|
59 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/configure.html\" target="
|
60 |
-
"\"_blank\">Setup and Configuration</a>"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/admin/wsl.admin.ui.php:580
|
64 |
-
msgid ""
|
65 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/customize.html\" target="
|
66 |
-
"\"_blank\">Customize WSL Widgets</a>"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/admin/wsl.admin.ui.php:581
|
70 |
-
msgid ""
|
71 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/userdata.html\" target="
|
72 |
-
"\"_blank\">Manage users and contacts</a>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/admin/wsl.admin.ui.php:582
|
76 |
-
msgid ""
|
77 |
-
"<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target=\"_blank"
|
78 |
-
"\">WSL User Guide</a> and <a href=\"http://hybridauth.sourceforge.net/wsl/"
|
79 |
-
"faq.html\" target=\"_blank\">FAQ</a>"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: includes/admin/wsl.admin.ui.php:588
|
83 |
-
#, php-format
|
84 |
-
msgid "What's new on WSL %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/admin/wsl.admin.ui.php:591
|
88 |
-
msgid ""
|
89 |
-
"In a similar way to WordPress plugins, WSL uses <a href=\"options-general."
|
90 |
-
"php?page=wordpress-social-login&wslp=components\">Components</a>"
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: includes/admin/wsl.admin.ui.php:592
|
94 |
-
msgid "<b>Email Validation</b> is replaced with <b>Profile Completion</b>"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: includes/admin/wsl.admin.ui.php:593
|
98 |
-
msgid ""
|
99 |
-
"<b>User Moderation</b> made compatible with <a href=\"http://wordpress.org/"
|
100 |
-
"extend/plugins/theme-my-login/\" target=\"_blank\">Theme My Login</a> plugin"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/admin/wsl.admin.ui.php:594
|
104 |
-
msgid "A number of enhancements and new options now available"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: includes/admin/wsl.admin.ui.php:644
|
108 |
-
msgid "Contributor License Agreement"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/admin/wsl.admin.ui.php:649
|
112 |
-
msgid ""
|
113 |
-
"You are about to submit your contributions to the WordPress Social Login "
|
114 |
-
"Website to be reviewed for inclusion in future versions"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: includes/admin/wsl.admin.ui.php:651
|
118 |
-
msgid ""
|
119 |
-
"You hereby grant the permission to publish your contribution, in whole or in "
|
120 |
-
"part, and to made it available under the <b>MIT License</b>, for the "
|
121 |
-
"<b>Wordpress community</b> to, freely use or misuse"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/admin/wsl.admin.ui.php:657
|
125 |
-
msgid "Hell No"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/admin/wsl.admin.ui.php:658
|
129 |
-
msgid "Yes, I agree to contribute my translation"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/admin/wsl.admin.ui.php:662
|
133 |
-
msgid "Help us localize WordPress Social Login"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: includes/admin/wsl.admin.ui.php:666
|
137 |
-
msgid ""
|
138 |
-
"You can <b>translate as much you pleases</b> as much <b>as you want</b>. You "
|
139 |
-
"don't have to translate everything in this page, but every word counts. "
|
140 |
-
"Ignore any string you want or aleardy translated. You could also use this "
|
141 |
-
"tool to fix any typo you may find or to improve the current language "
|
142 |
-
"expressions"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: includes/admin/wsl.admin.ui.php:668
|
146 |
-
msgid ""
|
147 |
-
"Your name allows us to recognize your contributions and bypass manual "
|
148 |
-
"review, especially when you've been contributing in the past. So do supply "
|
149 |
-
"some unique string, even if it's not your real name"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/admin/wsl.admin.ui.php:670
|
153 |
-
msgid ""
|
154 |
-
"All the texts on this page are automatically extracted and generated on the "
|
155 |
-
"form beside. If the translation tool has scapped something you may consider "
|
156 |
-
"as irrelevant, please leave that particular field empty"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: includes/admin/wsl.admin.ui.php:672
|
160 |
-
msgid ""
|
161 |
-
"Your contributions will be sent to the WordPress Social Login website for "
|
162 |
-
"inclusion in future versions"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: includes/admin/wsl.admin.ui.php:674
|
166 |
-
msgid "Thanks!"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: includes/admin/wsl.admin.ui.php:682
|
170 |
-
msgid "Your Name"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688
|
174 |
-
msgid "optional"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/admin/wsl.admin.ui.php:688
|
178 |
-
msgid "Comment"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/admin/wsl.admin.ui.php:694
|
182 |
-
msgid "Target Language"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: includes/admin/wsl.admin.ui.php:703
|
186 |
-
msgid "Submit changes"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/admin/wsl.admin.ui.php:769
|
190 |
-
msgid "Help us translate this page into your language"
|
191 |
-
msgstr "帮助我们本地化当前页"
|
192 |
-
|
193 |
-
#: includes/admin/components/advanced/index.php:47
|
194 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62
|
195 |
-
msgid "Advanced Settings"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/admin/components/advanced/index.php:52
|
199 |
-
msgid ""
|
200 |
-
"<b>Please</b> for the love of <b>God</b>, stay out of Advanced.. unless you "
|
201 |
-
"are Advanced and you know what you are doing"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: includes/admin/components/advanced/index.php:61
|
205 |
-
msgid "WSL Base URL"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: includes/admin/components/advanced/index.php:68
|
209 |
-
msgid "WSL Base PATH"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/admin/components/advanced/index.php:75
|
213 |
-
msgid "Hybridauth endpoint URL"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: includes/admin/components/advanced/index.php:82
|
217 |
-
msgid "WSL top bar menu"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/admin/components/advanced/index.php:85
|
221 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38
|
222 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47
|
223 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72
|
224 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81
|
225 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174
|
226 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211
|
227 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249
|
228 |
-
msgid "Yes"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: includes/admin/components/advanced/index.php:86
|
232 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39
|
233 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48
|
234 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73
|
235 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82
|
236 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175
|
237 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212
|
238 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250
|
239 |
-
msgid "No"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: includes/admin/components/advanced/index.php:98
|
243 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275
|
244 |
-
#: includes/admin/components/contacts/index.php:98
|
245 |
-
#: includes/admin/components/diagnostics/index.php:64
|
246 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144
|
247 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:271
|
248 |
-
#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40
|
249 |
-
msgid "Save Settings"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27
|
253 |
-
msgid "WSL Widget"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31
|
257 |
-
msgid ""
|
258 |
-
"Here you can tell Bouncer if you are accepting new users registration and "
|
259 |
-
"authentication into your website or not any more. Note that Bouncer only "
|
260 |
-
"works for WSL and will not interfere with users authenticating through the "
|
261 |
-
"regulars wordpress Login and Register pages with their usernames and "
|
262 |
-
"passwords (to to achieve that kind of restrictions, you may need to use "
|
263 |
-
"another plugin(s) in combination with WSL)."
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35
|
267 |
-
msgid "Accept new registration"
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44
|
271 |
-
msgid "Allow authentication"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58
|
275 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45
|
276 |
-
msgid "Profile Completion"
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62
|
280 |
-
msgid ""
|
281 |
-
"Select required fields. If a social network doesn't return them, Bouncer "
|
282 |
-
"will then ask your visitors to fill additional form to provide them when "
|
283 |
-
"registering."
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65
|
287 |
-
msgid ""
|
288 |
-
"You may activate <b>Profile Completion</b> for both <b>E-mail</b> and "
|
289 |
-
"<b>Username</b>, but keep in mind, the idea behind <b>social login</b> is to "
|
290 |
-
"avoid forms and remove all the hassle of registration"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69
|
294 |
-
msgid "Require E-mail"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78
|
298 |
-
msgid "Allow Username change"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92
|
302 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111
|
303 |
-
msgid "User Moderation"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96
|
307 |
-
msgid ""
|
308 |
-
"<b>User Moderation</b> will define how <b>Bouncer</b> should behave with new "
|
309 |
-
"regsitred users:"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99
|
313 |
-
msgid "<b>None</b>: No moderation required."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100
|
317 |
-
msgid ""
|
318 |
-
"<b>E-mail Confirmation</b>: New users will need to be confirm their e-mail "
|
319 |
-
"address before they may log in"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101
|
323 |
-
msgid ""
|
324 |
-
"<b>Admin Approval</b>: New users will need to be approved by an "
|
325 |
-
"administrator before they may log in"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104
|
329 |
-
msgid ""
|
330 |
-
"Both <b>Admin Approval</b> and <b>E-mail Confirmation</b> requires <a href="
|
331 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
332 |
-
"\">Theme My Login</a> plugin to be installed. As there is no point for "
|
333 |
-
"<b>WordPress Social Login</b> to reinvent the wheel"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107
|
337 |
-
msgid ""
|
338 |
-
"<b>User Moderation</b> was purposely made compatible with the <a href="
|
339 |
-
"\"http://wordpress.org/extend/plugins/theme-my-login/\" target=\"_blank"
|
340 |
-
"\">Theme My Login</a> for a number reasons: That plugin is good at what he "
|
341 |
-
"does, a hell of a lot of people are using it and many have asked for it"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114
|
345 |
-
msgid "None"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115
|
349 |
-
msgid "E-mail Confirmation — Yield to Theme My Login plugin"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116
|
353 |
-
msgid "Admin Approval — Yield to Theme My Login plugin"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126
|
357 |
-
msgid "Membership level"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130
|
361 |
-
msgid ""
|
362 |
-
"Here you can define the default role for new users authenticating through "
|
363 |
-
"WSL. The <code>Administrator</code> and <code>Editor</code> roles are not "
|
364 |
-
"available for safety reasons"
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133
|
368 |
-
msgid ""
|
369 |
-
"For more information about wordpress users roles and capabilities refer to "
|
370 |
-
"<a href=\"http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs."
|
371 |
-
"_Role_Table\" target=\"_blank\">http://codex.wordpress.org/"
|
372 |
-
"Roles_and_Capabilities</a>"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136
|
376 |
-
msgid ""
|
377 |
-
"If <b>User Moderation</b> is set to <code>Admin Approval</code> then "
|
378 |
-
"<b>Membership level</b> will be ignored"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140
|
382 |
-
msgid "New User Default Role"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143
|
386 |
-
msgid "Safe"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144
|
390 |
-
msgid "— Wordpress User Default Role —"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145
|
394 |
-
msgid "— No role for this site —"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146
|
398 |
-
msgid "Subscriber"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149
|
402 |
-
msgid "Be careful with these"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150
|
406 |
-
msgid "Author"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151
|
410 |
-
msgid "Contributor"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162
|
414 |
-
msgid "Filters by emails domains name"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166
|
418 |
-
msgid "Restrict registration to a limited number of domains name."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167
|
422 |
-
msgid ""
|
423 |
-
"Insert one email address per line and try to keep this list short. On "
|
424 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
425 |
-
"users. ex: <code>gmail.com</code>, without '@'."
|
426 |
-
msgstr ""
|
427 |
-
|
428 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171
|
429 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208
|
430 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246
|
431 |
-
#: includes/admin/components/contacts/index.php:51
|
432 |
-
#: includes/admin/components/contacts/index.php:58
|
433 |
-
#: includes/admin/components/contacts/index.php:65
|
434 |
-
#: includes/admin/components/contacts/index.php:72
|
435 |
-
#: includes/admin/components/contacts/index.php:79
|
436 |
-
#: includes/admin/components/diagnostics/index.php:61
|
437 |
-
#: includes/admin/components/networks/wsl.components.networks.setup.php:109
|
438 |
-
msgid "Enabled"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180
|
442 |
-
msgid "Domains list"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186
|
446 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223
|
447 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261
|
448 |
-
msgid "Bounce text"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199
|
452 |
-
msgid "Filters by e-mails addresses"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203
|
456 |
-
msgid "Restrict registration to a limited number of emails addresses."
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204
|
460 |
-
msgid ""
|
461 |
-
"Insert one email address per line and try to keep this list short. On "
|
462 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
463 |
-
"users. ex: <code>hybridauth@gmail.com</code>"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217
|
467 |
-
msgid "E-mails list"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236
|
471 |
-
msgid "Filters by profile urls"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240
|
475 |
-
msgid "Restrict registration to a limited number of profile urls."
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241
|
479 |
-
msgid ""
|
480 |
-
"<b>Note</b>: If a social network provide the user email, then use 'Filters "
|
481 |
-
"by e-mails addresses' instead. Providers like Facebook provide multiples "
|
482 |
-
"profiles URLs per user and WSL won't be able to reconize them."
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242
|
486 |
-
msgid ""
|
487 |
-
"Insert one email address per line and try to keep this list short. On "
|
488 |
-
"<code>Bounce text</code> insert the text you want to display for rejected "
|
489 |
-
"users. ex: <code>http://twitter.com/HybridAuth</code>, <code>https://plus."
|
490 |
-
"google.com/u/0/108839241301472312344</code>"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255
|
494 |
-
msgid "Profile urls"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26
|
498 |
-
#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26
|
499 |
-
msgid "What's This?"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30
|
503 |
-
msgid "Hey, meet our friend, the Bouncer"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33
|
507 |
-
msgid ""
|
508 |
-
"Ever been in trouble with one of <a href=\"http://www.flickr.com/search/?"
|
509 |
-
"q=bouncer+doorman&z=e\" target=\"_blank\">these guys</a>? Well, this module "
|
510 |
-
"have more or less the same role, and he will try his best to piss your users "
|
511 |
-
"off until they meet your requirements."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37
|
515 |
-
msgid ""
|
516 |
-
"This feature is most suited for small businesses and folks running a closed-"
|
517 |
-
"door blog between friends or coworkers."
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40
|
521 |
-
msgid "Available settings"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43
|
525 |
-
msgid "Enable/Disable Registration"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44
|
529 |
-
msgid "Enable/Disable Authentication"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46
|
533 |
-
msgid "Users moderation"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47
|
537 |
-
msgid "Users roles"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48
|
541 |
-
msgid "Restrictions (by emails, domains, profiles urls)"
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51
|
545 |
-
msgid "IMPORTANT!"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54
|
549 |
-
msgid ""
|
550 |
-
"All the settings on this page without exception are only valid for users "
|
551 |
-
"authenticating through <b>WordPress Social Login Widget"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57
|
555 |
-
msgid ""
|
556 |
-
"Users authenticating through the regulars Wordpress Login and Register pages "
|
557 |
-
"with their usernames and passwords WILL NOT be affected."
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:30
|
561 |
-
msgid "Other Components available"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:58
|
565 |
-
msgid "WordPress Social Login for BuddyPress"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:60
|
569 |
-
msgid "Make WordPress Social Login compatible with BuddyPress"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:61
|
573 |
-
msgid "Widget integration, xProfiles mapping and more"
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:63
|
577 |
-
msgid "Install Now"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:64
|
581 |
-
msgid "Visit plugin site"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:69
|
585 |
-
msgid "Build yours"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:71
|
589 |
-
msgid ""
|
590 |
-
"Looking to build your own custom <b>WordPress Social Login</b> extenstion or "
|
591 |
-
"component? Well, it's pretty easy. Just RTFM :)"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:74
|
595 |
-
msgid "WSL Developer API"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/admin/components/components/wsl.components.help.gallery.php:75
|
599 |
-
msgid "WSL on Github"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:29
|
603 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:37
|
604 |
-
msgid "Component"
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:30
|
608 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:38
|
609 |
-
msgid "Description"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:67
|
613 |
-
msgid "View"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:72
|
617 |
-
msgid "Disable"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/components/components/wsl.components.help.setup.php:74
|
621 |
-
msgid "Enable"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/components/contacts/index.php:39
|
625 |
-
msgid "Settings"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/admin/components/contacts/index.php:43
|
629 |
-
msgid ""
|
630 |
-
"<b>WordPress Social Login</b> is now introducing <b>Contacts Import</b> as a "
|
631 |
-
"new feature. When enabled, users authenticating through WordPress Social "
|
632 |
-
"Login will be asked for the authorisation to import their contact list. Note "
|
633 |
-
"that some social networks do not provide certains of their users information "
|
634 |
-
"like contacts emails, photos and or profile urls"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/admin/components/contacts/index.php:45
|
638 |
-
msgid "Enable contacts import for"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/components/contacts/index.php:52
|
642 |
-
#: includes/admin/components/contacts/index.php:59
|
643 |
-
#: includes/admin/components/contacts/index.php:66
|
644 |
-
#: includes/admin/components/contacts/index.php:73
|
645 |
-
#: includes/admin/components/contacts/index.php:80
|
646 |
-
#: includes/admin/components/diagnostics/index.php:62
|
647 |
-
msgid "Disabled"
|
648 |
-
msgstr ""
|
649 |
-
|
650 |
-
#: includes/admin/components/contacts/index.php:86
|
651 |
-
msgid "Notes"
|
652 |
-
msgstr ""
|
653 |
-
|
654 |
-
#: includes/admin/components/contacts/index.php:88
|
655 |
-
msgid ""
|
656 |
-
"To enable contacts import from these social network, you need first to "
|
657 |
-
"enabled them on the <a href=\"options-general.php?page=wordpress-social-"
|
658 |
-
"login&wslp=networks\"><b>Networks</b></a> tab and register the required "
|
659 |
-
"application"
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/components/contacts/index.php:89
|
663 |
-
msgid ""
|
664 |
-
"<b>WSL</b> will try to import as much information about a user contacts as "
|
665 |
-
"he was able to pull from the social networks APIs."
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: includes/admin/components/contacts/index.php:90
|
669 |
-
msgid ""
|
670 |
-
"All contacts data are sotred into your database on the table: "
|
671 |
-
"<code>`wsluserscontacts`</code>"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: includes/admin/components/contacts/index.php:107
|
675 |
-
msgid "Users contacts list preview"
|
676 |
-
msgstr ""
|
677 |
-
|
678 |
-
#: includes/admin/components/contacts/index.php:114
|
679 |
-
#, php-format
|
680 |
-
msgid "%s contact's list"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: includes/admin/components/contacts/index.php:121
|
684 |
-
#: includes/admin/components/contacts/index.php:130
|
685 |
-
#: includes/widgets/wsl.auth.widget.php:299
|
686 |
-
msgid "Provider"
|
687 |
-
msgstr ""
|
688 |
-
|
689 |
-
#: includes/admin/components/contacts/index.php:122
|
690 |
-
#: includes/admin/components/contacts/index.php:131
|
691 |
-
msgid "User"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: includes/admin/components/contacts/index.php:123
|
695 |
-
#: includes/admin/components/contacts/index.php:132
|
696 |
-
msgid "Contact Name"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/components/contacts/index.php:124
|
700 |
-
#: includes/admin/components/contacts/index.php:133
|
701 |
-
msgid "Contact Email"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: includes/admin/components/contacts/index.php:125
|
705 |
-
#: includes/admin/components/contacts/index.php:134
|
706 |
-
msgid "Contact Profile Url"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: includes/admin/components/contacts/index.php:150
|
710 |
-
msgid "No contacts found"
|
711 |
-
msgstr ""
|
712 |
-
|
713 |
-
#: includes/admin/components/diagnostics/index.php:24
|
714 |
-
msgid "Requirements test"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: includes/admin/components/diagnostics/index.php:27
|
718 |
-
msgid ""
|
719 |
-
"In order for <b>WordPress Social Login</b> to work properly, your server "
|
720 |
-
"should meet certain requirements. These \"requirements\" <br />and \"services"
|
721 |
-
"\" are usually offered by default by most \"modern\" web hosting providers, "
|
722 |
-
"however some complications may <br />occur with <b>shared hosting</b> and, "
|
723 |
-
"or <b>custom wordpress installations</b>"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: includes/admin/components/diagnostics/index.php:30
|
727 |
-
msgid "The minimum server requirements are"
|
728 |
-
msgstr ""
|
729 |
-
|
730 |
-
#: includes/admin/components/diagnostics/index.php:33
|
731 |
-
msgid "PHP >= 5.2.0 installed"
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/components/diagnostics/index.php:34
|
735 |
-
msgid "WSL Endpoint URLs reachable"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/components/diagnostics/index.php:35
|
739 |
-
msgid "PHP's default SESSION handling"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/components/diagnostics/index.php:36
|
743 |
-
msgid "PHP/CURL/SSL Extension enabled"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/components/diagnostics/index.php:37
|
747 |
-
msgid "PHP/JSON Extension enabled"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/components/diagnostics/index.php:38
|
751 |
-
msgid "PHP/REGISTER_GLOBALS Off"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/components/diagnostics/index.php:39
|
755 |
-
msgid "jQuery installed on WordPress backoffice"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/components/diagnostics/index.php:42
|
759 |
-
msgid ""
|
760 |
-
"You can run the <b>WordPress Social Login Requirements Test</b> by clicking "
|
761 |
-
"the button bellow"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: includes/admin/components/diagnostics/index.php:46
|
765 |
-
msgid "Run the plugin requirements test"
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: includes/admin/components/diagnostics/index.php:47
|
769 |
-
msgid "Website Information"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: includes/admin/components/diagnostics/index.php:53
|
773 |
-
msgid "Development mode"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: includes/admin/components/diagnostics/index.php:56
|
777 |
-
msgid ""
|
778 |
-
"By enabling the development mode, this plugin will try generate and display "
|
779 |
-
"a technical reports when something goes wrong. <br />This report can help "
|
780 |
-
"your figure out the root of any issues you may runs into, or you can also "
|
781 |
-
"send it to the plugin developer. <br />Its recommend to set the Development "
|
782 |
-
"mode to <b style=\"color:red\">Disabled</b> on production."
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: includes/admin/components/help/index.php:25
|
786 |
-
msgid "Troubleshooting"
|
787 |
-
msgstr ""
|
788 |
-
|
789 |
-
#: includes/admin/components/help/index.php:27
|
790 |
-
msgid "WSL Diagnostics"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: includes/admin/components/help/index.php:29
|
794 |
-
msgid "System information"
|
795 |
-
msgstr ""
|
796 |
-
|
797 |
-
#: includes/admin/components/help/index.php:32
|
798 |
-
msgid ""
|
799 |
-
"If you run into any issue, you can access the <b>WordPress Social Login "
|
800 |
-
"Diagnostics</b> to check the <b>Plugin Requirements</b> or to enable the "
|
801 |
-
"<b>Development mode</b>"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/components/help/index.php:35
|
805 |
-
msgid ""
|
806 |
-
"Remember to include your System information when posting support requests"
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: includes/admin/components/help/index.php:39
|
810 |
-
msgid "Documentation"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: includes/admin/components/help/index.php:41
|
814 |
-
msgid ""
|
815 |
-
"The complete <b>User Guide</b> can be found at\n"
|
816 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/index.html\" target="
|
817 |
-
"\"_blank\">hybridauth.sourceforge.net/wsl/index.html</a>"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/components/help/index.php:47
|
821 |
-
msgid "FAQs"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/components/help/index.php:49
|
825 |
-
msgid ""
|
826 |
-
"A list of <b>Frequently asked questions</b> can be found at\n"
|
827 |
-
"\t\t<a href=\"http://hybridauth.sourceforge.net/wsl/f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|