Version Description
- Feature: A page can be selected which handles the extra fields for Register flow.
- Feature: A page can be selected which handles the OAuth flow.
- Feature: Spanish (Latin America) translation added.
- Feature: GDPR - add custom Terms and conditions on register.
- Feature: GDPR - retrieved fields can now be exported with the Export Personal Data tool of WordPress.
- Fix: Jetpack - Secure Sign On
Fix: Dokan - redirection
PRO: Feature: Authorized domain name check and notice for changed domain name.
PRO: Feature: Option to change the button layouts for WooCommerce login/register/billing forms.
PRO: Feature: Sync LinkedId fields
Download this release
Release Info
Developer | nextendweb |
Plugin | Nextend Social Login and Register (Facebook, Google, Twitter) |
Version | 3.0.8 |
Comparing to | |
See all releases |
Code changes from version 3.0.7 to 3.0.8
- NSL/GDPR.php +133 -0
- NSL/Notices.php +3 -3
- NSL/Persistent/Persistent.php +6 -1
- admin/EditUser.php +26 -2
- admin/admin.php +134 -1
- admin/images/layouts/default.png +0 -0
- admin/interim.php +38 -0
- admin/templates-provider/settings-other.php +43 -1
- admin/templates/domain-changed.php +39 -0
- admin/templates/global-settings.php +3 -0
- admin/templates/pro-addon.php +1 -89
- admin/templates/settings/buddypress.php +2 -2
- admin/templates/settings/comment.php +2 -4
- admin/templates/settings/general-pro.php +0 -2
- admin/templates/settings/general.php +21 -15
- admin/templates/settings/memberpress.php +1 -1
- admin/templates/settings/privacy.php +108 -0
- admin/templates/settings/woocommerce.php +144 -37
- admin/templates/show-debug.php +40 -0
- includes/compat-wp-login.php +277 -0
- includes/provider-admin.php +9 -1
- includes/provider.php +70 -20
- includes/user.php +98 -32
- includes/userData.php +265 -0
- js/nsl.js +7 -26
- languages/nextend-facebook-connect-es_LA.mo +0 -0
- languages/nextend-facebook-connect-es_LA.po +2118 -0
- nextend-facebook-connect.php +1 -1
- nextend-social-login.php +192 -35
- providers/facebook/facebook-client.php +1 -1
- providers/facebook/facebook.php +3 -2
- providers/google/google.php +2 -2
- providers/twitter/twitter.php +2 -2
- readme.txt +17 -2
NSL/GDPR.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NSL;
|
4 |
+
|
5 |
+
class GDPR {
|
6 |
+
|
7 |
+
public function __construct() {
|
8 |
+
add_action('admin_init', array(
|
9 |
+
$this,
|
10 |
+
'add_privacy_policy_content'
|
11 |
+
));
|
12 |
+
|
13 |
+
add_filter('wp_privacy_personal_data_exporters', array(
|
14 |
+
$this,
|
15 |
+
'register_exporter'
|
16 |
+
), -1);
|
17 |
+
|
18 |
+
/*
|
19 |
+
add_filter('wp_privacy_personal_data_erasers', array(
|
20 |
+
$this,
|
21 |
+
'register_eraser'
|
22 |
+
));
|
23 |
+
*/
|
24 |
+
}
|
25 |
+
|
26 |
+
public function add_privacy_policy_content() {
|
27 |
+
if (!function_exists('wp_add_privacy_policy_content')) {
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
$content = '';
|
32 |
+
$content .= '<h2>' . __('What personal data we collect and why we collect it') . '</h2>';
|
33 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('%1$s collects data when a visitor register, login or link the account with with any of the enabled social provider. It collects the following data: email address, name, social provider identifier and access token. Also it can collect profile picture and more fields with the Pro Addon\'s sync data feature.'), 'Nextend Social Login') . '</p>';
|
34 |
+
|
35 |
+
$content .= '<h2>' . __('Who we share your data with') . '</h2>';
|
36 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('%1$s stores the personal data on your site and does not share it with anyone except the access token which used for the authenticated communication with the social providers.'), 'Nextend Social Login') . '</p>';
|
37 |
+
|
38 |
+
$content .= '<h2>' . __('Does the plugin share personal data with third parties') . '</h2>';
|
39 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('%1$s use the access token what the social provider gave to communicate with the providers to verify account and securely access personal data.'), 'Nextend Social Login') . '</p>';
|
40 |
+
|
41 |
+
$content .= '<h2>' . __('How long we retain your data') . '</h2>';
|
42 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('%1$s removes the collected personal data when the user deleted from WordPress.'), 'Nextend Social Login') . '</p>';
|
43 |
+
|
44 |
+
$content .= '<h2>' . __('Does the plugin use personal data collected by others?') . '</h2>';
|
45 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('%1$s use the personal data collected by the social providers to create account on your site when the visitor authorize it.'), 'Nextend Social Login') . '</p>';
|
46 |
+
|
47 |
+
$content .= '<h2>' . __('Does the plugin store things in the browser?') . '</h2>';
|
48 |
+
$content .= '<p class="privacy-policy-tutorial">' . sprintf(__('Yes, %1$s must create a cookie for visitors who use the social login authorization flow. This cookie required for every provider to secure the communication and to redirect the user back to the last location.'), 'Nextend Social Login') . '</p>';
|
49 |
+
|
50 |
+
$content .= '<h2>' . __('Does the plugin collect telemetry data, directly or indirectly?') . '</h2>';
|
51 |
+
$content .= '<p class="privacy-policy-tutorial">' . __('No') . '</p>';
|
52 |
+
|
53 |
+
$content .= '<h2>' . __('Does the plugin enqueue JavaScript, tracking pixels or embed iframes from a third party?') . '</h2>';
|
54 |
+
$content .= '<p class="privacy-policy-tutorial">' . __('No') . '</p>';
|
55 |
+
|
56 |
+
|
57 |
+
wp_add_privacy_policy_content('Nextend Social Login', wp_kses_post($content));
|
58 |
+
}
|
59 |
+
|
60 |
+
|
61 |
+
public function register_exporter($exporters) {
|
62 |
+
$exporters['nextend-facebook-connect'] = array(
|
63 |
+
'exporter_friendly_name' => 'Nextend Social Login',
|
64 |
+
'callback' => array(
|
65 |
+
$this,
|
66 |
+
'exporter'
|
67 |
+
),
|
68 |
+
);
|
69 |
+
|
70 |
+
return $exporters;
|
71 |
+
}
|
72 |
+
|
73 |
+
public function exporter($email_address, $page = 1) {
|
74 |
+
$email_address = trim($email_address);
|
75 |
+
|
76 |
+
$data_to_export = array();
|
77 |
+
|
78 |
+
$user = get_user_by('email', $email_address);
|
79 |
+
|
80 |
+
if (!$user) {
|
81 |
+
return array(
|
82 |
+
'data' => array(),
|
83 |
+
'done' => true,
|
84 |
+
);
|
85 |
+
}
|
86 |
+
|
87 |
+
$user_data_to_export = array();
|
88 |
+
|
89 |
+
foreach (\NextendSocialLogin::$allowedProviders AS $provider) {
|
90 |
+
$user_data_to_export = array_merge($user_data_to_export, $provider->exportPersonalData($user->ID));
|
91 |
+
}
|
92 |
+
|
93 |
+
|
94 |
+
if (!empty($user_data_to_export)) {
|
95 |
+
$data_to_export[] = array(
|
96 |
+
'group_id' => 'user',
|
97 |
+
'group_label' => __('User'),
|
98 |
+
'item_id' => "user-{$user->ID}",
|
99 |
+
'data' => $user_data_to_export,
|
100 |
+
);
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
return array(
|
105 |
+
'data' => $data_to_export,
|
106 |
+
'done' => true,
|
107 |
+
);
|
108 |
+
}
|
109 |
+
|
110 |
+
public function register_eraser($erasers) {
|
111 |
+
$erasers['nextend-facebook-connect'] = array(
|
112 |
+
'exporter_friendly_name' => 'Nextend Social Login',
|
113 |
+
'callback' => array(
|
114 |
+
$this,
|
115 |
+
'eraser'
|
116 |
+
),
|
117 |
+
);
|
118 |
+
|
119 |
+
return $erasers;
|
120 |
+
}
|
121 |
+
|
122 |
+
public function eraser($email_address, $page = 1) {
|
123 |
+
return array(
|
124 |
+
'items_removed' => false,
|
125 |
+
'items_retained' => false,
|
126 |
+
'messages' => array(),
|
127 |
+
'done' => true,
|
128 |
+
);
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
|
133 |
+
new GDPR();
|
NSL/Notices.php
CHANGED
@@ -175,8 +175,7 @@ class Notices {
|
|
175 |
}
|
176 |
}
|
177 |
|
178 |
-
self::
|
179 |
-
self::$notices = array();
|
180 |
|
181 |
return $html;
|
182 |
}
|
@@ -189,8 +188,9 @@ class Notices {
|
|
189 |
Persistent::set('notices', self::$notices);
|
190 |
}
|
191 |
|
192 |
-
|
193 |
|
194 |
Persistent::delete('notices');
|
|
|
195 |
}
|
196 |
}
|
175 |
}
|
176 |
}
|
177 |
|
178 |
+
self::clear();
|
|
|
179 |
|
180 |
return $html;
|
181 |
}
|
188 |
Persistent::set('notices', self::$notices);
|
189 |
}
|
190 |
|
191 |
+
public static function clear() {
|
192 |
|
193 |
Persistent::delete('notices');
|
194 |
+
self::$notices = array();
|
195 |
}
|
196 |
}
|
NSL/Persistent/Persistent.php
CHANGED
@@ -58,7 +58,12 @@ class Persistent {
|
|
58 |
* @param $user_login
|
59 |
* @param \WP_User $user
|
60 |
*/
|
61 |
-
public function transferSessionToUser($user_login, $user) {
|
|
|
|
|
|
|
|
|
|
|
62 |
$newStorage = new Transient($user->ID);
|
63 |
/**
|
64 |
* $this->storage might be NULL if init action not called yet
|
58 |
* @param $user_login
|
59 |
* @param \WP_User $user
|
60 |
*/
|
61 |
+
public function transferSessionToUser($user_login, $user = null) {
|
62 |
+
|
63 |
+
if (!$user) { // For do_action( 'wp_login' ) calls that lacked passing the 2nd arg.
|
64 |
+
$user = get_user_by('login', $user_login);
|
65 |
+
}
|
66 |
+
|
67 |
$newStorage = new Transient($user->ID);
|
68 |
/**
|
69 |
* $this->storage might be NULL if init action not called yet
|
admin/EditUser.php
CHANGED
@@ -20,7 +20,16 @@
|
|
20 |
<?php
|
21 |
$value = get_user_meta($user->ID, $fieldName, true);
|
22 |
if (!empty($value)) {
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
$hasData = true;
|
25 |
}
|
26 |
?>
|
@@ -37,4 +46,19 @@
|
|
37 |
ob_end_clean();
|
38 |
}
|
39 |
?>
|
40 |
-
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
<?php
|
21 |
$value = get_user_meta($user->ID, $fieldName, true);
|
22 |
if (!empty($value)) {
|
23 |
+
$unSerialized = maybe_unserialize($value);
|
24 |
+
if (is_array($unSerialized) || is_object($unSerialized)) {
|
25 |
+
|
26 |
+
echo "<pre>";
|
27 |
+
print_r(formatUserMeta((array)$unSerialized));
|
28 |
+
|
29 |
+
echo "</pre>";
|
30 |
+
} else {
|
31 |
+
echo esc_html($value);
|
32 |
+
}
|
33 |
$hasData = true;
|
34 |
}
|
35 |
?>
|
46 |
ob_end_clean();
|
47 |
}
|
48 |
?>
|
49 |
+
<?php endforeach; ?>
|
50 |
+
|
51 |
+
<?php
|
52 |
+
|
53 |
+
function formatUserMeta($user_meta, $level = '') {
|
54 |
+
$formatted_usermeta = '';
|
55 |
+
if (is_array($user_meta)) {
|
56 |
+
foreach ($user_meta as $meta_key => $meta_value) {
|
57 |
+
$formatted_usermeta .= formatUserMeta($meta_value, $level . '[' . $meta_key . ']');
|
58 |
+
}
|
59 |
+
} else {
|
60 |
+
$formatted_usermeta .= "\n" . $level . ' = ' . $user_meta;
|
61 |
+
}
|
62 |
+
|
63 |
+
return $formatted_usermeta;
|
64 |
+
}
|
admin/admin.php
CHANGED
@@ -62,6 +62,12 @@ class NextendSocialLoginAdmin {
|
|
62 |
case 'fix-redirect-uri':
|
63 |
self::display_admin_area('fix-redirect-uri');
|
64 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
case 'global-settings':
|
66 |
self::display_admin_area('global-settings');
|
67 |
break;
|
@@ -195,6 +201,11 @@ class NextendSocialLoginAdmin {
|
|
195 |
'NextendSocialLoginAdmin',
|
196 |
'showUserFields'
|
197 |
));
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
public static function save_form_data() {
|
@@ -316,13 +327,20 @@ class NextendSocialLoginAdmin {
|
|
316 |
foreach ($postedData as $key => $value) {
|
317 |
switch ($key) {
|
318 |
case 'debug':
|
|
|
|
|
|
|
319 |
case 'avatar_store':
|
|
|
320 |
if ($value == 1) {
|
321 |
$newData[$key] = 1;
|
322 |
} else {
|
323 |
$newData[$key] = 0;
|
324 |
}
|
325 |
break;
|
|
|
|
|
|
|
326 |
case 'show_login_form':
|
327 |
case 'show_registration_form':
|
328 |
case 'show_embedded_login_form':
|
@@ -339,6 +357,8 @@ class NextendSocialLoginAdmin {
|
|
339 |
}
|
340 |
break;
|
341 |
case 'license_key':
|
|
|
|
|
342 |
$value = trim(sanitize_text_field($value));
|
343 |
if ($value != NextendSocialLogin::$settings->get('license_key') || NextendSocialLogin::$settings->get('license_key_ok') == '0') {
|
344 |
$newData['license_key_ok'] = '0';
|
@@ -349,6 +369,8 @@ class NextendSocialLoginAdmin {
|
|
349 |
if ($response === 'OK') {
|
350 |
$newData[$key] = $value;
|
351 |
$newData['license_key_ok'] = '1';
|
|
|
|
|
352 |
}
|
353 |
} catch (Exception $e) {
|
354 |
\NSL\Notices::addError($e->getMessage());
|
@@ -360,6 +382,18 @@ class NextendSocialLoginAdmin {
|
|
360 |
case 'woocommerce_dismissed':
|
361 |
$newData[$key] = intval($value);
|
362 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
}
|
364 |
}
|
365 |
|
@@ -424,7 +458,7 @@ class NextendSocialLoginAdmin {
|
|
424 |
'user-agent' => 'WordPress',
|
425 |
'body' => array_merge(array(
|
426 |
'platform' => 'wordpress',
|
427 |
-
'domain' =>
|
428 |
'license_key' => NextendSocialLogin::$settings->get('license_key')
|
429 |
), $args)
|
430 |
);
|
@@ -526,4 +560,103 @@ class NextendSocialLoginAdmin {
|
|
526 |
public static function showUserFields($user) {
|
527 |
include(dirname(__FILE__) . '/EditUser.php');
|
528 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
}
|
62 |
case 'fix-redirect-uri':
|
63 |
self::display_admin_area('fix-redirect-uri');
|
64 |
break;
|
65 |
+
case 'domain-changed':
|
66 |
+
self::display_admin_area('domain-changed');
|
67 |
+
break;
|
68 |
+
case 'show-debug':
|
69 |
+
self::display_admin_area('show-debug');
|
70 |
+
break;
|
71 |
case 'global-settings':
|
72 |
self::display_admin_area('global-settings');
|
73 |
break;
|
201 |
'NextendSocialLoginAdmin',
|
202 |
'showUserFields'
|
203 |
));
|
204 |
+
|
205 |
+
add_filter('display_post_states', array(
|
206 |
+
'NextendSocialLoginAdmin',
|
207 |
+
'display_post_states'
|
208 |
+
), 10, 2);
|
209 |
}
|
210 |
|
211 |
public static function save_form_data() {
|
327 |
foreach ($postedData as $key => $value) {
|
328 |
switch ($key) {
|
329 |
case 'debug':
|
330 |
+
case 'terms_show':
|
331 |
+
case 'store_name':
|
332 |
+
case 'store_email':
|
333 |
case 'avatar_store':
|
334 |
+
case 'store_access_token':
|
335 |
if ($value == 1) {
|
336 |
$newData[$key] = 1;
|
337 |
} else {
|
338 |
$newData[$key] = 0;
|
339 |
}
|
340 |
break;
|
341 |
+
case 'terms':
|
342 |
+
$newData[$key] = wp_kses_post($value);
|
343 |
+
break;
|
344 |
case 'show_login_form':
|
345 |
case 'show_registration_form':
|
346 |
case 'show_embedded_login_form':
|
357 |
}
|
358 |
break;
|
359 |
case 'license_key':
|
360 |
+
\NSL\Notices::clear();
|
361 |
+
|
362 |
$value = trim(sanitize_text_field($value));
|
363 |
if ($value != NextendSocialLogin::$settings->get('license_key') || NextendSocialLogin::$settings->get('license_key_ok') == '0') {
|
364 |
$newData['license_key_ok'] = '0';
|
369 |
if ($response === 'OK') {
|
370 |
$newData[$key] = $value;
|
371 |
$newData['license_key_ok'] = '1';
|
372 |
+
|
373 |
+
$newData['authorized_domain'] = NextendSocialLogin::getDomain();
|
374 |
}
|
375 |
} catch (Exception $e) {
|
376 |
\NSL\Notices::addError($e->getMessage());
|
382 |
case 'woocommerce_dismissed':
|
383 |
$newData[$key] = intval($value);
|
384 |
break;
|
385 |
+
|
386 |
+
case 'authorized_domain':
|
387 |
+
$newData[$key] = $value;
|
388 |
+
break;
|
389 |
+
case 'register-flow-page':
|
390 |
+
case 'proxy-page':
|
391 |
+
if (get_post($value) !== null) {
|
392 |
+
$newData[$key] = $value;
|
393 |
+
} else {
|
394 |
+
$newData[$key] = '';
|
395 |
+
}
|
396 |
+
break;
|
397 |
}
|
398 |
}
|
399 |
|
458 |
'user-agent' => 'WordPress',
|
459 |
'body' => array_merge(array(
|
460 |
'platform' => 'wordpress',
|
461 |
+
'domain' => NextendSocialLogin::getDomain(),
|
462 |
'license_key' => NextendSocialLogin::$settings->get('license_key')
|
463 |
), $args)
|
464 |
);
|
560 |
public static function showUserFields($user) {
|
561 |
include(dirname(__FILE__) . '/EditUser.php');
|
562 |
}
|
563 |
+
|
564 |
+
public static function authorizeBox($view = 'pro-addon') {
|
565 |
+
|
566 |
+
$args = array(
|
567 |
+
'product' => 'nsl',
|
568 |
+
'domain' => NextendSocialLogin::getDomain(),
|
569 |
+
'platform' => 'wordpress'
|
570 |
+
|
571 |
+
);
|
572 |
+
|
573 |
+
$authorizeUrl = NextendSocialLoginAdmin::trackUrl('https://secure.nextendweb.com/authorize/', 'authorize');
|
574 |
+
?>
|
575 |
+
<div class="nsl-box nsl-box-yellow nsl-box-padlock">
|
576 |
+
<h2 class="title"><?php _e('Authorize your Pro Addon', 'nextend-facebook-connect'); ?></h2>
|
577 |
+
<p><?php _e('To be able to use the Pro features, you need to authorize Nextend Social Connect Pro Addon. You can do this by clicking on the Authorize button below then select the related purchase.', 'nextend-facebook-connect'); ?></p>
|
578 |
+
|
579 |
+
<p>
|
580 |
+
<a href="#"
|
581 |
+
onclick="window.authorizeWindow = NSLPopupCenter('<?php echo $authorizeUrl; ?>', 'authorize-window', 800, 800);return false;"
|
582 |
+
class="button button-primary"><?php _e('Authorize', 'nextend-facebook-connect'); ?></a>
|
583 |
+
</p>
|
584 |
+
</div>
|
585 |
+
|
586 |
+
<script type="text/javascript">
|
587 |
+
(function ($) {
|
588 |
+
|
589 |
+
var args = <?php echo wp_json_encode($args); ?>;
|
590 |
+
window.addEventListener('message', function (e) {
|
591 |
+
if (e.origin === 'https://secure.nextendweb.com') {
|
592 |
+
if (typeof window.authorizeWindow === 'undefined') {
|
593 |
+
if (typeof e.source !== 'undefined') {
|
594 |
+
window.authorizeWindow = e.source;
|
595 |
+
} else {
|
596 |
+
return false;
|
597 |
+
}
|
598 |
+
}
|
599 |
+
|
600 |
+
try {
|
601 |
+
var envelope = JSON.parse(e.data);
|
602 |
+
|
603 |
+
if (envelope.action) {
|
604 |
+
switch (envelope.action) {
|
605 |
+
case 'ready':
|
606 |
+
window.authorizeWindow.postMessage(JSON.stringify({
|
607 |
+
'action': 'authorize',
|
608 |
+
'data': args
|
609 |
+
}), 'https://secure.nextendweb.com');
|
610 |
+
break;
|
611 |
+
case 'license':
|
612 |
+
$('#license_key').val(envelope.license_key);
|
613 |
+
$('#license_form').submit();
|
614 |
+
break;
|
615 |
+
}
|
616 |
+
|
617 |
+
}
|
618 |
+
}
|
619 |
+
catch (ex) {
|
620 |
+
console.error(ex);
|
621 |
+
console.log(e);
|
622 |
+
}
|
623 |
+
}
|
624 |
+
});
|
625 |
+
})(jQuery);
|
626 |
+
</script>
|
627 |
+
|
628 |
+
<form id="license_form" method="post" action="<?php echo admin_url('admin-post.php'); ?>"
|
629 |
+
novalidate="novalidate" style="display:none;">
|
630 |
+
|
631 |
+
<?php wp_nonce_field('nextend-social-login'); ?>
|
632 |
+
<input type="hidden" name="action" value="nextend-social-login"/>
|
633 |
+
<input type="hidden" name="view" value="<?php echo $view; ?>"/>
|
634 |
+
|
635 |
+
<table class="form-table">
|
636 |
+
<tbody>
|
637 |
+
<tr>
|
638 |
+
<th scope="row"><label
|
639 |
+
for="license_key"><?php _e('License key', 'nextend-facebook-connect'); ?></label></th>
|
640 |
+
<td><input name="license_key" type="text" id="license_key"
|
641 |
+
value="<?php echo esc_attr(NextendSocialLogin::$settings->get('license_key')); ?>"
|
642 |
+
class="regular-text">
|
643 |
+
</td>
|
644 |
+
</tr>
|
645 |
+
</tbody>
|
646 |
+
</table>
|
647 |
+
|
648 |
+
</form>
|
649 |
+
<?php
|
650 |
+
}
|
651 |
+
|
652 |
+
public function display_post_states($post_states, $post) {
|
653 |
+
if (NextendSocialLogin::getProxyPage() === $post->ID) {
|
654 |
+
$post_states['nsl_proxy_page'] = __('OAuth proxy page') . ' — NSL';
|
655 |
+
}
|
656 |
+
if (NextendSocialLogin::getRegisterFlowPage() === $post->ID) {
|
657 |
+
$post_states['nsl_proxy_page'] = __('Register flow page') . ' — NSL';
|
658 |
+
}
|
659 |
+
|
660 |
+
return $post_states;
|
661 |
+
}
|
662 |
}
|
admin/images/layouts/default.png
ADDED
Binary file
|
admin/interim.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if (!defined('ABSPATH')) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
global $interim_login;
|
7 |
+
$customize_login = isset($_REQUEST['customize-login']);
|
8 |
+
if ($customize_login) {
|
9 |
+
wp_enqueue_script('customize-base');
|
10 |
+
}
|
11 |
+
|
12 |
+
$message = '<p class="message">' . __('You have logged in successfully.') . '</p>';
|
13 |
+
$interim_login = 'success';
|
14 |
+
?><!DOCTYPE html>
|
15 |
+
<!--[if IE 8]>
|
16 |
+
<html xmlns="http://www.w3.org/1999/xhtml" class="ie8" <?php language_attributes(); ?>>
|
17 |
+
<![endif]-->
|
18 |
+
<!--[if !(IE 8) ]><!-->
|
19 |
+
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
|
20 |
+
<!--<![endif]-->
|
21 |
+
<head>
|
22 |
+
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>"/>
|
23 |
+
<title><?php __('You have logged in successfully.'); ?></title>
|
24 |
+
</head>
|
25 |
+
<body class="login interim-login interim-login-success">
|
26 |
+
<?php
|
27 |
+
echo $message;
|
28 |
+
/** This action is documented in wp-login.php */
|
29 |
+
do_action('login_footer'); ?>
|
30 |
+
<?php if ($customize_login) : ?>
|
31 |
+
<script type="text/javascript">setTimeout(function () {
|
32 |
+
new wp.customize.Messenger({url: '<?php echo wp_customize_url(); ?>', channel: 'login'}).send(
|
33 |
+
'login');
|
34 |
+
}, 1000);</script>
|
35 |
+
<?php endif; ?>
|
36 |
+
</body>
|
37 |
+
</html>
|
38 |
+
<?php exit;
|
admin/templates-provider/settings-other.php
CHANGED
@@ -22,7 +22,49 @@ $settings = $provider->settings;
|
|
22 |
for="user_fallback"><?php _e('Fallback username prefix on register', 'nextend-facebook-connect'); ?></label></th>
|
23 |
<td><input name="user_fallback" type="text" id="user_fallback"
|
24 |
value="<?php echo esc_attr($settings->get('user_fallback')); ?>" class="regular-text">
|
25 |
-
<p class="description" id="tagline-user_fallback"><?php _e('Used when username is invalid', 'nextend-facebook-connect'); ?></p></td>
|
26 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
</tbody>
|
28 |
</table>
|
22 |
for="user_fallback"><?php _e('Fallback username prefix on register', 'nextend-facebook-connect'); ?></label></th>
|
23 |
<td><input name="user_fallback" type="text" id="user_fallback"
|
24 |
value="<?php echo esc_attr($settings->get('user_fallback')); ?>" class="regular-text">
|
25 |
+
<p class="description" id="tagline-user_fallback"><?php _e('Used when username is invalid or not stored', 'nextend-facebook-connect'); ?></p></td>
|
26 |
</tr>
|
27 |
+
<?php if (NextendSocialLogin::$settings->get('terms_show') == 1): ?>
|
28 |
+
<tr>
|
29 |
+
<th scope="row"><?php _e('Terms and conditions', 'nextend-facebook-connect'); ?></th>
|
30 |
+
<td>
|
31 |
+
<?php
|
32 |
+
$terms = $settings->get('terms');
|
33 |
+
$hasOverriddenTerms = !empty($terms);
|
34 |
+
?>
|
35 |
+
<fieldset>
|
36 |
+
<label for="terms_override">
|
37 |
+
<input type="hidden" name="terms_override" value="0">
|
38 |
+
<input type="checkbox" name="terms_override" id="terms_override"
|
39 |
+
value="1" <?php if ($hasOverriddenTerms) : ?> checked="checked" <?php endif; ?>>
|
40 |
+
<?php printf(__('Override global "%1$s"', 'nextend-facebook-connect'), __('Terms and conditions', 'nextend-facebook-connect')); ?>
|
41 |
+
</label>
|
42 |
+
|
43 |
+
<div id="nsl-terms" <?php if (!$hasOverriddenTerms) : ?> style="display:none;" <?php endif; ?>>
|
44 |
+
<?php
|
45 |
+
wp_editor($terms, 'terms', array(
|
46 |
+
'textarea_rows' => 4,
|
47 |
+
'media_buttons' => false
|
48 |
+
));
|
49 |
+
?>
|
50 |
+
</div>
|
51 |
+
</fieldset>
|
52 |
+
<script type="text/javascript">
|
53 |
+
(function ($) {
|
54 |
+
|
55 |
+
$(document).ready(function () {
|
56 |
+
$('#terms_override').on('change', function () {
|
57 |
+
if ($(this).is(':checked')) {
|
58 |
+
$('#nsl-terms').css('display', '');
|
59 |
+
} else {
|
60 |
+
$('#nsl-terms').css('display', 'none');
|
61 |
+
}
|
62 |
+
});
|
63 |
+
});
|
64 |
+
})(jQuery);
|
65 |
+
</script>
|
66 |
+
</td>
|
67 |
+
</tr>
|
68 |
+
<?php endif; ?>
|
69 |
</tbody>
|
70 |
</table>
|
admin/templates/domain-changed.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="nsl-admin-content">
|
2 |
+
<style>
|
3 |
+
.nsl-admin-notices {
|
4 |
+
display: none;
|
5 |
+
}
|
6 |
+
</style>
|
7 |
+
<h1 class="title"><?php _e('Pro Addon - Authorized domain has been changed', 'nextend-facebook-connect'); ?></h1>
|
8 |
+
<?php
|
9 |
+
|
10 |
+
$authorizedDomain = NextendSocialLogin::$settings->get('authorized_domain');
|
11 |
+
if (!empty($authorizedDomain) && $authorizedDomain != NextendSocialLogin::getDomain()) {
|
12 |
+
?>
|
13 |
+
<p>
|
14 |
+
<?php
|
15 |
+
_e('<b>You must authorize your new domain</b> to receive <b>updates and support</b> in the future.', 'nextend-facebook-connect');
|
16 |
+
?>
|
17 |
+
</p>
|
18 |
+
|
19 |
+
<p>
|
20 |
+
<?php
|
21 |
+
_e('You can authorize your new domain by completing the following steps:', 'nextend-facebook-connect');
|
22 |
+
?>
|
23 |
+
</p>
|
24 |
+
<ol>
|
25 |
+
<li><?php printf(__('Navigate to %s', 'nextend-facebook-connect'), '<a href="https://secure.nextendweb.com/" target="_blank">https://secure.nextendweb.com/</a>'); ?></li>
|
26 |
+
<li><?php _e('Log in with your credentials if you are not logged in', 'nextend-facebook-connect'); ?></li>
|
27 |
+
<li><?php printf(__('Find your old domain name: <b>%s</b>', 'nextend-facebook-connect'), $authorizedDomain); ?></li>
|
28 |
+
<li><?php printf(__('Click on the %1$s next to your domain name.', 'nextend-facebook-connect'), '"Deauthorize"'); ?></li>
|
29 |
+
<li><?php printf(__('Authorize your %1$s by clicking on the following button.', 'nextend-facebook-connect'), "Nextend Social Login Pro Addon"); ?></li>
|
30 |
+
</ol>
|
31 |
+
<?php
|
32 |
+
NextendSocialLoginAdmin::authorizeBox();
|
33 |
+
} else {
|
34 |
+
echo '<div class="updated"><p>' . __('The authorized domain name of your site is fine!', 'nextend-facebook-connect') . '</p></div>';
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
?>
|
39 |
+
</div>
|
admin/templates/global-settings.php
CHANGED
@@ -5,6 +5,7 @@ defined('ABSPATH') || die();
|
|
5 |
|
6 |
$allowedSubviews = array(
|
7 |
'general',
|
|
|
8 |
'login-form',
|
9 |
'woocommerce',
|
10 |
'comment',
|
@@ -27,6 +28,8 @@ if (!NextendSocialLoginAdmin::isPro()) {
|
|
27 |
<div class="nsl-admin-sub-nav-bar">
|
28 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('general'); ?>"
|
29 |
class="nsl-admin-nav-tab<?php if ($subview === 'general'): ?> nsl-admin-nav-tab-active<?php endif; ?>"><?php _e('General', 'nextend-facebook-connect'); ?></a>
|
|
|
|
|
30 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('login-form'); ?>"
|
31 |
class="nsl-admin-nav-tab<?php if ($subview === 'login-form'): ?> nsl-admin-nav-tab-active<?php endif; ?>"><?php _e('Login Form', 'nextend-facebook-connect'); ?></a>
|
32 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('woocommerce'); ?>"
|
5 |
|
6 |
$allowedSubviews = array(
|
7 |
'general',
|
8 |
+
'privacy',
|
9 |
'login-form',
|
10 |
'woocommerce',
|
11 |
'comment',
|
28 |
<div class="nsl-admin-sub-nav-bar">
|
29 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('general'); ?>"
|
30 |
class="nsl-admin-nav-tab<?php if ($subview === 'general'): ?> nsl-admin-nav-tab-active<?php endif; ?>"><?php _e('General', 'nextend-facebook-connect'); ?></a>
|
31 |
+
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('privacy'); ?>"
|
32 |
+
class="nsl-admin-nav-tab<?php if ($subview === 'privacy'): ?> nsl-admin-nav-tab-active<?php endif; ?>"><?php _e('Privacy', 'nextend-facebook-connect'); ?></a>
|
33 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('login-form'); ?>"
|
34 |
class="nsl-admin-nav-tab<?php if ($subview === 'login-form'): ?> nsl-admin-nav-tab-active<?php endif; ?>"><?php _e('Login Form', 'nextend-facebook-connect'); ?></a>
|
35 |
<a href="<?php echo NextendSocialLoginAdmin::getAdminSettingsUrl('woocommerce'); ?>"
|
admin/templates/pro-addon.php
CHANGED
@@ -111,94 +111,6 @@ function nsl_license_not_installed($view) {
|
|
111 |
<?php
|
112 |
}
|
113 |
|
114 |
-
function nsl_license_no_license($view) {
|
115 |
-
|
116 |
-
$args = array(
|
117 |
-
'product' => 'nsl',
|
118 |
-
'domain' => parse_url(site_url(), PHP_URL_HOST),
|
119 |
-
'platform' => 'wordpress'
|
120 |
-
|
121 |
-
);
|
122 |
-
|
123 |
-
$authorizeUrl = NextendSocialLoginAdmin::trackUrl('https://secure.nextendweb.com/authorize/', 'authorize');
|
124 |
-
?>
|
125 |
-
<div class="nsl-box nsl-box-yellow nsl-box-padlock">
|
126 |
-
<h2 class="title"><?php _e('Authorize your Pro Addon', 'nextend-facebook-connect'); ?></h2>
|
127 |
-
<p><?php _e('To be able to use the Pro features, you need to authorize Nextend Social Connect Pro Addon. You can do this by clicking on the Authorize button below then select the related purchase.', 'nextend-facebook-connect'); ?></p>
|
128 |
-
|
129 |
-
<p>
|
130 |
-
<a href="#"
|
131 |
-
onclick="window.authorizeWindow = NSLPopupCenter('<?php echo $authorizeUrl; ?>', 'authorize-window', 800, 800);return false;"
|
132 |
-
class="button button-primary"><?php _e('Authorize', 'nextend-facebook-connect'); ?></a>
|
133 |
-
</p>
|
134 |
-
</div>
|
135 |
-
|
136 |
-
<script type="text/javascript">
|
137 |
-
(function ($) {
|
138 |
-
|
139 |
-
var args = <?php echo wp_json_encode($args); ?>;
|
140 |
-
window.addEventListener('message', function (e) {
|
141 |
-
if (e.origin === 'https://secure.nextendweb.com') {
|
142 |
-
if (typeof window.authorizeWindow === 'undefined') {
|
143 |
-
if (typeof e.source !== 'undefined') {
|
144 |
-
window.authorizeWindow = e.source;
|
145 |
-
} else {
|
146 |
-
return false;
|
147 |
-
}
|
148 |
-
}
|
149 |
-
|
150 |
-
try {
|
151 |
-
var envelope = JSON.parse(e.data);
|
152 |
-
|
153 |
-
if (envelope.action) {
|
154 |
-
switch (envelope.action) {
|
155 |
-
case 'ready':
|
156 |
-
window.authorizeWindow.postMessage(JSON.stringify({
|
157 |
-
'action': 'authorize',
|
158 |
-
'data': args
|
159 |
-
}), 'https://secure.nextendweb.com');
|
160 |
-
break;
|
161 |
-
case 'license':
|
162 |
-
$('#license_key').val(envelope.license_key);
|
163 |
-
$('#license_form').submit();
|
164 |
-
break;
|
165 |
-
}
|
166 |
-
|
167 |
-
}
|
168 |
-
}
|
169 |
-
catch (ex) {
|
170 |
-
console.error(ex);
|
171 |
-
console.log(e);
|
172 |
-
}
|
173 |
-
}
|
174 |
-
});
|
175 |
-
})(jQuery);
|
176 |
-
</script>
|
177 |
-
|
178 |
-
<form id="license_form" method="post" action="<?php echo admin_url('admin-post.php'); ?>"
|
179 |
-
novalidate="novalidate" style="display:none;">
|
180 |
-
|
181 |
-
<?php wp_nonce_field('nextend-social-login'); ?>
|
182 |
-
<input type="hidden" name="action" value="nextend-social-login"/>
|
183 |
-
<input type="hidden" name="view" value="<?php echo $view; ?>"/>
|
184 |
-
|
185 |
-
<table class="form-table">
|
186 |
-
<tbody>
|
187 |
-
<tr>
|
188 |
-
<th scope="row"><label
|
189 |
-
for="license_key"><?php _e('License key', 'nextend-facebook-connect'); ?></label></th>
|
190 |
-
<td><input name="license_key" type="text" id="license_key"
|
191 |
-
value="<?php echo esc_attr(NextendSocialLogin::$settings->get('license_key')); ?>"
|
192 |
-
class="regular-text">
|
193 |
-
</td>
|
194 |
-
</tr>
|
195 |
-
</tbody>
|
196 |
-
</table>
|
197 |
-
|
198 |
-
</form>
|
199 |
-
<?php
|
200 |
-
}
|
201 |
-
|
202 |
function nsl_license_activated($view) {
|
203 |
?>
|
204 |
|
@@ -234,7 +146,7 @@ function nsl_license_activated($view) {
|
|
234 |
nsl_license_not_installed($view);
|
235 |
break;
|
236 |
case 'no-license':
|
237 |
-
|
238 |
break;
|
239 |
case 'activated':
|
240 |
nsl_license_activated($view);
|
111 |
<?php
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
function nsl_license_activated($view) {
|
115 |
?>
|
116 |
|
146 |
nsl_license_not_installed($view);
|
147 |
break;
|
148 |
case 'no-license':
|
149 |
+
NextendSocialLoginAdmin::authorizeBox($view);
|
150 |
break;
|
151 |
case 'activated':
|
152 |
nsl_license_activated($view);
|
admin/templates/settings/buddypress.php
CHANGED
@@ -15,7 +15,7 @@ NextendSocialLoginAdmin::showProBox();
|
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
-
<th scope="row"><?php _e('
|
19 |
<td>
|
20 |
<fieldset>
|
21 |
<label><input type="radio" name="buddypress_register_button"
|
@@ -40,7 +40,7 @@ NextendSocialLoginAdmin::showProBox();
|
|
40 |
</td>
|
41 |
</tr>
|
42 |
<tr>
|
43 |
-
<th scope="row"><?php _e('
|
44 |
<td>
|
45 |
<fieldset>
|
46 |
<label>
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
+
<th scope="row"><?php _e('Register form', 'nextend-facebook-connect'); ?></th>
|
19 |
<td>
|
20 |
<fieldset>
|
21 |
<label><input type="radio" name="buddypress_register_button"
|
40 |
</td>
|
41 |
</tr>
|
42 |
<tr>
|
43 |
+
<th scope="row"><?php _e('Register button style', 'nextend-facebook-connect'); ?></th>
|
44 |
<td>
|
45 |
<fieldset>
|
46 |
<label>
|
admin/templates/settings/comment.php
CHANGED
@@ -15,11 +15,9 @@ NextendSocialLoginAdmin::showProBox();
|
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
-
<th scope="row"><?php _e('
|
19 |
<td>
|
20 |
<fieldset>
|
21 |
-
<legend class="screen-reader-text">
|
22 |
-
<span><?php _e('Comment login button', 'nextend-facebook-connect'); ?></span></legend>
|
23 |
<label><input type="radio" name="comment_login_button"
|
24 |
value="show" <?php if ($settings->get('comment_login_button') == 'show') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
25 |
<span><?php _e('Show', 'nextend-facebook-connect'); ?></span></label><br>
|
@@ -31,7 +29,7 @@ NextendSocialLoginAdmin::showProBox();
|
|
31 |
</td>
|
32 |
</tr>
|
33 |
<tr>
|
34 |
-
<th scope="row"><?php _e('
|
35 |
<td>
|
36 |
<fieldset>
|
37 |
<label>
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
+
<th scope="row"><?php _e('Login button', 'nextend-facebook-connect'); ?></th>
|
19 |
<td>
|
20 |
<fieldset>
|
|
|
|
|
21 |
<label><input type="radio" name="comment_login_button"
|
22 |
value="show" <?php if ($settings->get('comment_login_button') == 'show') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
23 |
<span><?php _e('Show', 'nextend-facebook-connect'); ?></span></label><br>
|
29 |
</td>
|
30 |
</tr>
|
31 |
<tr>
|
32 |
+
<th scope="row"><?php _e('Button style', 'nextend-facebook-connect'); ?></th>
|
33 |
<td>
|
34 |
<fieldset>
|
35 |
<label>
|
admin/templates/settings/general-pro.php
CHANGED
@@ -54,8 +54,6 @@ NextendSocialLoginAdmin::showProBox();
|
|
54 |
<th scope="row"><?php _e('Registration notification sent to', 'nextend-facebook-connect'); ?></th>
|
55 |
<td>
|
56 |
<fieldset>
|
57 |
-
<legend class="screen-reader-text">
|
58 |
-
<span><?php _e('Registration notification sent to', 'nextend-facebook-connect'); ?></span></legend>
|
59 |
<label><input type="radio" name="registration_notification_notify"
|
60 |
value="0" <?php if ($settings->get('registration_notification_notify') == '0') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
61 |
<span><?php _e('WordPress default', 'nextend-facebook-connect'); ?></span></label><br>
|
54 |
<th scope="row"><?php _e('Registration notification sent to', 'nextend-facebook-connect'); ?></th>
|
55 |
<td>
|
56 |
<fieldset>
|
|
|
|
|
57 |
<label><input type="radio" name="registration_notification_notify"
|
58 |
value="0" <?php if ($settings->get('registration_notification_notify') == '0') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
59 |
<span><?php _e('WordPress default', 'nextend-facebook-connect'); ?></span></label><br>
|
admin/templates/settings/general.php
CHANGED
@@ -48,8 +48,6 @@
|
|
48 |
<th scope="row"><?php _e('Debug mode', 'nextend-facebook-connect'); ?></th>
|
49 |
<td>
|
50 |
<fieldset>
|
51 |
-
<legend class="screen-reader-text">
|
52 |
-
<span><?php _e('Debug mode', 'nextend-facebook-connect'); ?></span></legend>
|
53 |
<label><input type="radio" name="debug"
|
54 |
value="0" <?php if ($settings->get('debug') == '0') : ?> checked="checked" <?php endif; ?>>
|
55 |
<span><?php _e('Disabled', 'nextend-facebook-connect'); ?></span></label><br>
|
@@ -59,18 +57,26 @@
|
|
59 |
</fieldset>
|
60 |
</td>
|
61 |
</tr>
|
62 |
-
|
63 |
<tr>
|
64 |
-
<th scope="row"><?php _e('
|
65 |
<td>
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
</td>
|
75 |
</tr>
|
76 |
|
@@ -80,8 +86,8 @@
|
|
80 |
</th>
|
81 |
<td>
|
82 |
<?php
|
83 |
-
$useDefault
|
84 |
-
$default_redirect
|
85 |
if (!empty($default_redirect)) {
|
86 |
$useDefault = true;
|
87 |
}
|
@@ -95,7 +101,7 @@
|
|
95 |
class="regular-text"<?php if (!$useDefault): ?> style="display:none;"<?php endif; ?>>
|
96 |
|
97 |
<?php
|
98 |
-
$useDefault
|
99 |
$default_redirectReg = $settings->get('default_redirect_reg');
|
100 |
if (!empty($default_redirectReg)) {
|
101 |
$useDefault = true;
|
48 |
<th scope="row"><?php _e('Debug mode', 'nextend-facebook-connect'); ?></th>
|
49 |
<td>
|
50 |
<fieldset>
|
|
|
|
|
51 |
<label><input type="radio" name="debug"
|
52 |
value="0" <?php if ($settings->get('debug') == '0') : ?> checked="checked" <?php endif; ?>>
|
53 |
<span><?php _e('Disabled', 'nextend-facebook-connect'); ?></span></label><br>
|
57 |
</fieldset>
|
58 |
</td>
|
59 |
</tr>
|
|
|
60 |
<tr>
|
61 |
+
<th scope="row"><?php _e('Page for register flow', 'nextend-facebook-connect'); ?></th>
|
62 |
<td>
|
63 |
+
<?php wp_dropdown_pages(array(
|
64 |
+
'name' => 'register-flow-page',
|
65 |
+
'show_option_none' => __('None'),
|
66 |
+
'selected' => $settings->get('register-flow-page')
|
67 |
+
)); ?>
|
68 |
+
<p class="description" id="tagline-register-flow-page"><?php printf(__('First create a new page for register flow and insert the following shortcode: %1$s then select this page above', 'nextend-facebook-connect'), '<code>[nextend_social_login_register_flow]</code>'); ?></p>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
<tr>
|
72 |
+
<th scope="row"><?php _e('OAuth redirect uri proxy page', 'nextend-facebook-connect'); ?></th>
|
73 |
+
<td>
|
74 |
+
<?php wp_dropdown_pages(array(
|
75 |
+
'name' => 'proxy-page',
|
76 |
+
'show_option_none' => __('None'),
|
77 |
+
'selected' => $settings->get('proxy-page')
|
78 |
+
)); ?>
|
79 |
+
<p class="description" id="tagline-proxy-page"><?php _e('Pick a custom page when wp-login.php not available to handle the OAuth flow.', 'nextend-facebook-connect'); ?></p>
|
80 |
</td>
|
81 |
</tr>
|
82 |
|
86 |
</th>
|
87 |
<td>
|
88 |
<?php
|
89 |
+
$useDefault = false;
|
90 |
+
$default_redirect = $settings->get('default_redirect');
|
91 |
if (!empty($default_redirect)) {
|
92 |
$useDefault = true;
|
93 |
}
|
101 |
class="regular-text"<?php if (!$useDefault): ?> style="display:none;"<?php endif; ?>>
|
102 |
|
103 |
<?php
|
104 |
+
$useDefault = false;
|
105 |
$default_redirectReg = $settings->get('default_redirect_reg');
|
106 |
if (!empty($default_redirectReg)) {
|
107 |
$useDefault = true;
|
admin/templates/settings/memberpress.php
CHANGED
@@ -65,7 +65,7 @@ NextendSocialLoginAdmin::showProBox();
|
|
65 |
</td>
|
66 |
</tr>
|
67 |
<tr>
|
68 |
-
<th scope="row"><?php _e('
|
69 |
<td>
|
70 |
<fieldset>
|
71 |
<label><input type="radio" name="memberpress_account_details"
|
65 |
</td>
|
66 |
</tr>
|
67 |
<tr>
|
68 |
+
<th scope="row"><?php _e('Account details', 'nextend-facebook-connect'); ?></th>
|
69 |
<td>
|
70 |
<fieldset>
|
71 |
<label><input type="radio" name="memberpress_account_details"
|
admin/templates/settings/privacy.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
(function ($) {
|
3 |
+
|
4 |
+
window.NSLResetTerms = function () {
|
5 |
+
var id = 'terms',
|
6 |
+
content = <?php echo wp_json_encode(__('By clicking Register, you accept our <a href="#privacy_policy_url" target="_blank">Privacy Policy</a>', 'nextend-facebook-connect')); ?>;
|
7 |
+
|
8 |
+
if ($('#wp-' + id + '-wrap').hasClass('html-active')) {
|
9 |
+
$('#' + id).val(content);
|
10 |
+
} else { // We are in tinyMCE mode
|
11 |
+
var activeEditor = tinyMCE.get(id);
|
12 |
+
if (activeEditor !== null) {
|
13 |
+
activeEditor.setContent(content);
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
return false;
|
18 |
+
};
|
19 |
+
|
20 |
+
$(document).ready(function () {
|
21 |
+
$('#terms_show').on('change', function () {
|
22 |
+
if ($(this).is(':checked')) {
|
23 |
+
$('#nsl-terms').css('display', '');
|
24 |
+
} else {
|
25 |
+
$('#nsl-terms').css('display', 'none');
|
26 |
+
}
|
27 |
+
});
|
28 |
+
});
|
29 |
+
})(jQuery);
|
30 |
+
</script>
|
31 |
+
|
32 |
+
<table class="form-table">
|
33 |
+
<tbody>
|
34 |
+
<tr>
|
35 |
+
<th scope="row"><?php _e('Terms and conditions', 'nextend-facebook-connect'); ?></th>
|
36 |
+
<td>
|
37 |
+
<fieldset>
|
38 |
+
<label for="terms_show">
|
39 |
+
<input type="hidden" name="terms_show" value="0">
|
40 |
+
<input type="checkbox" name="terms_show" id="terms_show"
|
41 |
+
value="1" <?php if ($settings->get('terms_show') == '1') : ?> checked="checked" <?php endif; ?>>
|
42 |
+
<?php _e('Show', 'nextend-facebook-connect'); ?>
|
43 |
+
</label>
|
44 |
+
|
45 |
+
<div id="nsl-terms" <?php if ($settings->get('terms_show') != '1') : ?> style="display:none;" <?php endif; ?>>
|
46 |
+
<?php
|
47 |
+
wp_editor($settings->get('terms'), 'terms', array(
|
48 |
+
'textarea_rows' => 4,
|
49 |
+
'media_buttons' => false
|
50 |
+
));
|
51 |
+
?>
|
52 |
+
<p class="description"><a href="#"
|
53 |
+
onclick="return NSLResetTerms();"><?php _e('Reset to default', 'nextend-facebook-connect'); ?></a>
|
54 |
+
</div>
|
55 |
+
</fieldset>
|
56 |
+
</td>
|
57 |
+
</tr>
|
58 |
+
<tr>
|
59 |
+
<th scope="row"><?php _e('Store', 'nextend-facebook-connect'); ?></th>
|
60 |
+
<td>
|
61 |
+
<label for="store_name">
|
62 |
+
<input type="hidden" name="store_name" value="0">
|
63 |
+
<input type="checkbox" name="store_name" id="store_name"
|
64 |
+
value="1" <?php if ($settings->get('store_name') == '1') : ?> checked="checked" <?php endif; ?>>
|
65 |
+
<?php _e('First and last name', 'nextend-facebook-connect'); ?>
|
66 |
+
</label>
|
67 |
+
<p class="description"
|
68 |
+
id="tagline-store_name"><?php _e('When not enabled, username will be randomly generated.', 'nextend-facebook-connect'); ?></p>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
<tr>
|
72 |
+
<th scope="row"></th>
|
73 |
+
<td>
|
74 |
+
<label for="store_email">
|
75 |
+
<input type="hidden" name="store_email" value="0">
|
76 |
+
<input type="checkbox" name="store_email" id="store_email"
|
77 |
+
value="1" <?php if ($settings->get('store_email') == '1') : ?> checked="checked" <?php endif; ?>>
|
78 |
+
<?php _e('Email', 'nextend-facebook-connect'); ?>
|
79 |
+
</label>
|
80 |
+
<p class="description"
|
81 |
+
id="tagline-store_email"><?php _e('When not enabled, email will be empty.', 'nextend-facebook-connect'); ?></p>
|
82 |
+
</td>
|
83 |
+
</tr>
|
84 |
+
<tr>
|
85 |
+
<th scope="row"></th>
|
86 |
+
<td>
|
87 |
+
<label for="avatar_store">
|
88 |
+
<input type="hidden" name="avatar_store" value="0">
|
89 |
+
<input type="checkbox" name="avatar_store" id="avatar_store"
|
90 |
+
value="1" <?php if ($settings->get('avatar_store') == '1') : ?> checked="checked" <?php endif; ?>>
|
91 |
+
<?php _e('Avatar', 'nextend-facebook-connect'); ?>
|
92 |
+
</label>
|
93 |
+
</td>
|
94 |
+
</tr>
|
95 |
+
<tr>
|
96 |
+
<th scope="row"></th>
|
97 |
+
<td>
|
98 |
+
<label for="store_access_token">
|
99 |
+
<input type="hidden" name="store_access_token" value="0">
|
100 |
+
<input type="checkbox" name="store_access_token" id="store_access_token"
|
101 |
+
value="1" <?php if ($settings->get('store_access_token') == '1') : ?> checked="checked" <?php endif; ?>>
|
102 |
+
<?php _e('Access token', 'nextend-facebook-connect'); ?>
|
103 |
+
</label>
|
104 |
+
</td>
|
105 |
+
</tr>
|
106 |
+
</tbody>
|
107 |
+
</table>
|
108 |
+
<p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save Changes'); ?>"></p>
|
admin/templates/settings/woocommerce.php
CHANGED
@@ -15,7 +15,27 @@ NextendSocialLoginAdmin::showProBox();
|
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
-
<th scope="row"><?php _e('
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
<td>
|
20 |
<fieldset>
|
21 |
<label><input type="radio" name="woocommerce_login"
|
@@ -23,20 +43,57 @@ NextendSocialLoginAdmin::showProBox();
|
|
23 |
<span><?php _e('No Connect button in login form', 'nextend-facebook-connect'); ?></span></label><br>
|
24 |
<label><input type="radio" name="woocommerce_login"
|
25 |
value="before" <?php if ($settings->get('woocommerce_login') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
26 |
-
<span><?php _e('Connect button
|
27 |
<code><?php _e('Action:'); ?>
|
28 |
woocommerce_login_form_start</code></label><br>
|
29 |
<label><input type="radio" name="woocommerce_login"
|
30 |
value="after" <?php if ($settings->get('woocommerce_login') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
31 |
-
<span><?php _e('Connect button
|
32 |
<code><?php _e('Action:'); ?>
|
33 |
woocommerce_login_form_end</code></label><br>
|
34 |
</fieldset>
|
35 |
</td>
|
36 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
<tr>
|
39 |
-
<th scope="row"><?php _e('
|
40 |
<td>
|
41 |
<fieldset>
|
42 |
<label><input type="radio" name="woocommerce_register"
|
@@ -44,80 +101,130 @@ NextendSocialLoginAdmin::showProBox();
|
|
44 |
<span><?php _e('No Connect button in register form', 'nextend-facebook-connect'); ?></span></label><br>
|
45 |
<label><input type="radio" name="woocommerce_register"
|
46 |
value="before" <?php if ($settings->get('woocommerce_register') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
47 |
-
<span><?php _e('Connect button
|
48 |
<code><?php _e('Action:'); ?>
|
49 |
woocommerce_register_form_start</code></label><br>
|
50 |
<label><input type="radio" name="woocommerce_register"
|
51 |
value="after" <?php if ($settings->get('woocommerce_register') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
52 |
-
<span><?php _e('Connect button
|
53 |
<code><?php _e('Action:'); ?>
|
54 |
woocommerce_register_form_end</code></label><br>
|
55 |
</fieldset>
|
56 |
</td>
|
57 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
<tr>
|
60 |
-
<th scope="row"><?php _e('
|
61 |
<td>
|
62 |
<fieldset>
|
63 |
-
<legend class="screen-reader-text">
|
64 |
-
<span><?php _e('WooCommerce billing form', 'nextend-facebook-connect'); ?></span></legend>
|
65 |
<label><input type="radio" name="woocommerce_billing"
|
66 |
value="" <?php if ($settings->get('woocommerce_billing') == '') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
67 |
<span><?php _e('No Connect button in billing form', 'nextend-facebook-connect'); ?></span></label><br>
|
68 |
<label><input type="radio" name="woocommerce_billing"
|
69 |
value="before" <?php if ($settings->get('woocommerce_billing') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
70 |
-
<span><?php _e('Connect button
|
71 |
<code><?php _e('Action:'); ?>
|
72 |
woocommerce_before_checkout_billing_form</code></label><br>
|
73 |
<label><input type="radio" name="woocommerce_billing"
|
74 |
value="after" <?php if ($settings->get('woocommerce_billing') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
75 |
-
<span><?php _e('Connect button
|
76 |
<code><?php _e('Action:'); ?>
|
77 |
woocommerce_after_checkout_billing_form</code><br>
|
78 |
</fieldset>
|
79 |
</td>
|
80 |
</tr>
|
81 |
<tr>
|
82 |
-
<th scope="row"><?php _e('
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
<td>
|
84 |
<fieldset>
|
85 |
-
<legend class="screen-reader-text">
|
86 |
-
<span><?php _e('WooCommerce account details', 'nextend-facebook-connect'); ?></span></legend>
|
87 |
<label><input type="radio" name="woocommerce_account_details"
|
88 |
value="before" <?php if ($settings->get('woocommerce_account_details') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
89 |
-
<span><?php _e('Link buttons
|
90 |
<code><?php _e('Action:'); ?>
|
91 |
woocommerce_edit_account_form_start</code></label><br>
|
92 |
<label><input type="radio" name="woocommerce_account_details"
|
93 |
value="after" <?php if ($settings->get('woocommerce_account_details') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
94 |
-
<span><?php _e('Link buttons
|
95 |
<code><?php _e('Action:'); ?>
|
96 |
woocommerce_edit_account_form_end</code></label><br>
|
97 |
</fieldset>
|
98 |
</td>
|
99 |
</tr>
|
100 |
-
<tr>
|
101 |
-
<th scope="row"><?php _e('WooCommerce button style', 'nextend-facebook-connect'); ?></th>
|
102 |
-
<td>
|
103 |
-
<fieldset>
|
104 |
-
<legend class="screen-reader-text">
|
105 |
-
<span><?php _e('WooCommerce button style', 'nextend-facebook-connect'); ?></span></legend>
|
106 |
-
<label>
|
107 |
-
<input type="radio" name="woocoommerce_form_button_style"
|
108 |
-
value="default" <?php if ($settings->get('woocoommerce_form_button_style') == 'default') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
109 |
-
<span><?php _e('Default', 'nextend-facebook-connect'); ?></span><br/>
|
110 |
-
<img src="<?php echo plugins_url('images/buttons/default.png', NSL_ADMIN_PATH) ?>"/>
|
111 |
-
</label>
|
112 |
-
<label>
|
113 |
-
<input type="radio" name="woocoommerce_form_button_style"
|
114 |
-
value="icon" <?php if ($settings->get('woocoommerce_form_button_style') == 'icon') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
115 |
-
<span><?php _e('Icon', 'nextend-facebook-connect'); ?></span><br/>
|
116 |
-
<img src="<?php echo plugins_url('images/buttons/icon.png', NSL_ADMIN_PATH) ?>"/>
|
117 |
-
</label><br>
|
118 |
-
</fieldset>
|
119 |
-
</td>
|
120 |
-
</tr>
|
121 |
</tbody>
|
122 |
</table>
|
123 |
<?php if ($isPRO): ?>
|
15 |
<table class="form-table">
|
16 |
<tbody>
|
17 |
<tr>
|
18 |
+
<th scope="row"><?php _e('Button style', 'nextend-facebook-connect'); ?></th>
|
19 |
+
<td>
|
20 |
+
<fieldset>
|
21 |
+
<label>
|
22 |
+
<input type="radio" name="woocoommerce_form_button_style"
|
23 |
+
value="default" <?php if ($settings->get('woocoommerce_form_button_style') == 'default') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
24 |
+
<span><?php _e('Default', 'nextend-facebook-connect'); ?></span><br/>
|
25 |
+
<img src="<?php echo plugins_url('images/buttons/default.png', NSL_ADMIN_PATH) ?>"/>
|
26 |
+
</label>
|
27 |
+
<label>
|
28 |
+
<input type="radio" name="woocoommerce_form_button_style"
|
29 |
+
value="icon" <?php if ($settings->get('woocoommerce_form_button_style') == 'icon') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
30 |
+
<span><?php _e('Icon', 'nextend-facebook-connect'); ?></span><br/>
|
31 |
+
<img src="<?php echo plugins_url('images/buttons/icon.png', NSL_ADMIN_PATH) ?>"/>
|
32 |
+
</label><br>
|
33 |
+
</fieldset>
|
34 |
+
</td>
|
35 |
+
</tr>
|
36 |
+
|
37 |
+
<tr>
|
38 |
+
<th scope="row"><?php _e('Login form', 'nextend-facebook-connect'); ?></th>
|
39 |
<td>
|
40 |
<fieldset>
|
41 |
<label><input type="radio" name="woocommerce_login"
|
43 |
<span><?php _e('No Connect button in login form', 'nextend-facebook-connect'); ?></span></label><br>
|
44 |
<label><input type="radio" name="woocommerce_login"
|
45 |
value="before" <?php if ($settings->get('woocommerce_login') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
46 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span>
|
47 |
<code><?php _e('Action:'); ?>
|
48 |
woocommerce_login_form_start</code></label><br>
|
49 |
<label><input type="radio" name="woocommerce_login"
|
50 |
value="after" <?php if ($settings->get('woocommerce_login') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
51 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span>
|
52 |
<code><?php _e('Action:'); ?>
|
53 |
woocommerce_login_form_end</code></label><br>
|
54 |
</fieldset>
|
55 |
</td>
|
56 |
</tr>
|
57 |
+
<tr>
|
58 |
+
<th scope="row"><?php _e('Login layout', 'nextend-facebook-connect'); ?></th>
|
59 |
+
<td>
|
60 |
+
<fieldset>
|
61 |
+
<label>
|
62 |
+
<input type="radio" name="woocommerce_login_form_layout"
|
63 |
+
value="default" <?php if ($settings->get('woocommerce_login_form_layout') == 'default') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
64 |
+
<span><?php _e('Default', 'nextend-facebook-connect'); ?></span><br/>
|
65 |
+
<img src="<?php echo plugins_url('images/layouts/default.png', NSL_ADMIN_PATH) ?>"/>
|
66 |
+
</label>
|
67 |
+
<label>
|
68 |
+
<input type="radio" name="woocommerce_login_form_layout"
|
69 |
+
value="below" <?php if ($settings->get('woocommerce_login_form_layout') == 'below') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
70 |
+
<span><?php _e('Below', 'nextend-facebook-connect'); ?></span><br/>
|
71 |
+
<img src="<?php echo plugins_url('images/layouts/below.png', NSL_ADMIN_PATH) ?>"/>
|
72 |
+
</label>
|
73 |
+
<label>
|
74 |
+
<input type="radio" name="woocommerce_login_form_layout"
|
75 |
+
value="below-separator" <?php if ($settings->get('woocommerce_login_form_layout') == 'below-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
76 |
+
<span><?php _e('Below with separator', 'nextend-facebook-connect'); ?></span><br/>
|
77 |
+
<img src="<?php echo plugins_url('images/layouts/below-separator.png', NSL_ADMIN_PATH) ?>"/>
|
78 |
+
</label>
|
79 |
+
<label>
|
80 |
+
<input type="radio" name="woocommerce_login_form_layout"
|
81 |
+
value="above" <?php if ($settings->get('woocommerce_login_form_layout') == 'above') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
82 |
+
<span><?php _e('Above', 'nextend-facebook-connect'); ?></span><br/>
|
83 |
+
<img src="<?php echo plugins_url('images/layouts/above.png', NSL_ADMIN_PATH) ?>"/>
|
84 |
+
</label>
|
85 |
+
<label>
|
86 |
+
<input type="radio" name="woocommerce_login_form_layout"
|
87 |
+
value="above-separator" <?php if ($settings->get('woocommerce_login_form_layout') == 'above-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
88 |
+
<span><?php _e('Above with separator', 'nextend-facebook-connect'); ?></span><br/>
|
89 |
+
<img src="<?php echo plugins_url('images/layouts/above-separator.png', NSL_ADMIN_PATH) ?>"/>
|
90 |
+
</label><br>
|
91 |
+
</fieldset>
|
92 |
+
</td>
|
93 |
+
</tr>
|
94 |
|
95 |
<tr>
|
96 |
+
<th scope="row"><?php _e('Register form', 'nextend-facebook-connect'); ?></th>
|
97 |
<td>
|
98 |
<fieldset>
|
99 |
<label><input type="radio" name="woocommerce_register"
|
101 |
<span><?php _e('No Connect button in register form', 'nextend-facebook-connect'); ?></span></label><br>
|
102 |
<label><input type="radio" name="woocommerce_register"
|
103 |
value="before" <?php if ($settings->get('woocommerce_register') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
104 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span>
|
105 |
<code><?php _e('Action:'); ?>
|
106 |
woocommerce_register_form_start</code></label><br>
|
107 |
<label><input type="radio" name="woocommerce_register"
|
108 |
value="after" <?php if ($settings->get('woocommerce_register') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
109 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span>
|
110 |
<code><?php _e('Action:'); ?>
|
111 |
woocommerce_register_form_end</code></label><br>
|
112 |
</fieldset>
|
113 |
</td>
|
114 |
</tr>
|
115 |
+
<tr>
|
116 |
+
<th scope="row"><?php _e('Register layout', 'nextend-facebook-connect'); ?></th>
|
117 |
+
<td>
|
118 |
+
<fieldset>
|
119 |
+
<label>
|
120 |
+
<input type="radio" name="woocommerce_register_form_layout"
|
121 |
+
value="default" <?php if ($settings->get('woocommerce_register_form_layout') == 'default') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
122 |
+
<span><?php _e('Default', 'nextend-facebook-connect'); ?></span><br/>
|
123 |
+
<img src="<?php echo plugins_url('images/layouts/default.png', NSL_ADMIN_PATH) ?>"/>
|
124 |
+
</label>
|
125 |
+
<label>
|
126 |
+
<input type="radio" name="woocommerce_register_form_layout"
|
127 |
+
value="below" <?php if ($settings->get('woocommerce_register_form_layout') == 'below') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
128 |
+
<span><?php _e('Below', 'nextend-facebook-connect'); ?></span><br/>
|
129 |
+
<img src="<?php echo plugins_url('images/layouts/below.png', NSL_ADMIN_PATH) ?>"/>
|
130 |
+
</label>
|
131 |
+
<label>
|
132 |
+
<input type="radio" name="woocommerce_register_form_layout"
|
133 |
+
value="below-separator" <?php if ($settings->get('woocommerce_register_form_layout') == 'below-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
134 |
+
<span><?php _e('Below with separator', 'nextend-facebook-connect'); ?></span><br/>
|
135 |
+
<img src="<?php echo plugins_url('images/layouts/below-separator.png', NSL_ADMIN_PATH) ?>"/>
|
136 |
+
</label>
|
137 |
+
<label>
|
138 |
+
<input type="radio" name="woocommerce_register_form_layout"
|
139 |
+
value="above" <?php if ($settings->get('woocommerce_register_form_layout') == 'above') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
140 |
+
<span><?php _e('Above', 'nextend-facebook-connect'); ?></span><br/>
|
141 |
+
<img src="<?php echo plugins_url('images/layouts/above.png', NSL_ADMIN_PATH) ?>"/>
|
142 |
+
</label>
|
143 |
+
<label>
|
144 |
+
<input type="radio" name="woocommerce_register_form_layout"
|
145 |
+
value="above-separator" <?php if ($settings->get('woocommerce_register_form_layout') == 'above-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
146 |
+
<span><?php _e('Above with separator', 'nextend-facebook-connect'); ?></span><br/>
|
147 |
+
<img src="<?php echo plugins_url('images/layouts/above-separator.png', NSL_ADMIN_PATH) ?>"/>
|
148 |
+
</label><br>
|
149 |
+
</fieldset>
|
150 |
+
</td>
|
151 |
+
</tr>
|
152 |
|
153 |
<tr>
|
154 |
+
<th scope="row"><?php _e('Billing form', 'nextend-facebook-connect'); ?></th>
|
155 |
<td>
|
156 |
<fieldset>
|
|
|
|
|
157 |
<label><input type="radio" name="woocommerce_billing"
|
158 |
value="" <?php if ($settings->get('woocommerce_billing') == '') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
159 |
<span><?php _e('No Connect button in billing form', 'nextend-facebook-connect'); ?></span></label><br>
|
160 |
<label><input type="radio" name="woocommerce_billing"
|
161 |
value="before" <?php if ($settings->get('woocommerce_billing') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
162 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span>
|
163 |
<code><?php _e('Action:'); ?>
|
164 |
woocommerce_before_checkout_billing_form</code></label><br>
|
165 |
<label><input type="radio" name="woocommerce_billing"
|
166 |
value="after" <?php if ($settings->get('woocommerce_billing') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
167 |
+
<span><?php _e('Connect button on', 'nextend-facebook-connect'); ?></span></label>
|
168 |
<code><?php _e('Action:'); ?>
|
169 |
woocommerce_after_checkout_billing_form</code><br>
|
170 |
</fieldset>
|
171 |
</td>
|
172 |
</tr>
|
173 |
<tr>
|
174 |
+
<th scope="row"><?php _e('Billing layout', 'nextend-facebook-connect'); ?></th>
|
175 |
+
<td>
|
176 |
+
<fieldset>
|
177 |
+
<label>
|
178 |
+
<input type="radio" name="woocommerce_billing_form_layout"
|
179 |
+
value="default" <?php if ($settings->get('woocommerce_billing_form_layout') == 'default') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
180 |
+
<span><?php _e('Default', 'nextend-facebook-connect'); ?></span><br/>
|
181 |
+
<img src="<?php echo plugins_url('images/layouts/default.png', NSL_ADMIN_PATH) ?>"/>
|
182 |
+
</label>
|
183 |
+
<label>
|
184 |
+
<input type="radio" name="woocommerce_billing_form_layout"
|
185 |
+
value="below" <?php if ($settings->get('woocommerce_billing_form_layout') == 'below') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
186 |
+
<span><?php _e('Below', 'nextend-facebook-connect'); ?></span><br/>
|
187 |
+
<img src="<?php echo plugins_url('images/layouts/below.png', NSL_ADMIN_PATH) ?>"/>
|
188 |
+
</label>
|
189 |
+
<label>
|
190 |
+
<input type="radio" name="woocommerce_billing_form_layout"
|
191 |
+
value="below-separator" <?php if ($settings->get('woocommerce_billing_form_layout') == 'below-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
192 |
+
<span><?php _e('Below with separator', 'nextend-facebook-connect'); ?></span><br/>
|
193 |
+
<img src="<?php echo plugins_url('images/layouts/below-separator.png', NSL_ADMIN_PATH) ?>"/>
|
194 |
+
</label>
|
195 |
+
<label>
|
196 |
+
<input type="radio" name="woocommerce_billing_form_layout"
|
197 |
+
value="above" <?php if ($settings->get('woocommerce_billing_form_layout') == 'above') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
198 |
+
<span><?php _e('Above', 'nextend-facebook-connect'); ?></span><br/>
|
199 |
+
<img src="<?php echo plugins_url('images/layouts/above.png', NSL_ADMIN_PATH) ?>"/>
|
200 |
+
</label>
|
201 |
+
<label>
|
202 |
+
<input type="radio" name="woocommerce_billing_form_layout"
|
203 |
+
value="above-separator" <?php if ($settings->get('woocommerce_billing_form_layout') == 'above-separator') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
204 |
+
<span><?php _e('Above with separator', 'nextend-facebook-connect'); ?></span><br/>
|
205 |
+
<img src="<?php echo plugins_url('images/layouts/above-separator.png', NSL_ADMIN_PATH) ?>"/>
|
206 |
+
</label><br>
|
207 |
+
</fieldset>
|
208 |
+
</td>
|
209 |
+
</tr>
|
210 |
+
|
211 |
+
<tr>
|
212 |
+
<th scope="row"><?php _e('Account details', 'nextend-facebook-connect'); ?></th>
|
213 |
<td>
|
214 |
<fieldset>
|
|
|
|
|
215 |
<label><input type="radio" name="woocommerce_account_details"
|
216 |
value="before" <?php if ($settings->get('woocommerce_account_details') == 'before') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
217 |
+
<span><?php _e('Link buttons on', 'nextend-facebook-connect'); ?></span>
|
218 |
<code><?php _e('Action:'); ?>
|
219 |
woocommerce_edit_account_form_start</code></label><br>
|
220 |
<label><input type="radio" name="woocommerce_account_details"
|
221 |
value="after" <?php if ($settings->get('woocommerce_account_details') == 'after') : ?> checked="checked" <?php endif; ?><?php echo $attr; ?>>
|
222 |
+
<span><?php _e('Link buttons on', 'nextend-facebook-connect'); ?></span>
|
223 |
<code><?php _e('Action:'); ?>
|
224 |
woocommerce_edit_account_form_end</code></label><br>
|
225 |
</fieldset>
|
226 |
</td>
|
227 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
</tbody>
|
229 |
</table>
|
230 |
<?php if ($isPRO): ?>
|
admin/templates/show-debug.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="nsl-admin-content">
|
2 |
+
<style>
|
3 |
+
.nsl-admin-notices {
|
4 |
+
display: none;
|
5 |
+
}
|
6 |
+
</style>
|
7 |
+
<h1 class="title"><?php _e('Debug', 'nextend-facebook-connect'); ?></h1>
|
8 |
+
<?php
|
9 |
+
|
10 |
+
$proAddonState = NextendSocialLoginAdmin::getProState();
|
11 |
+
$authorizedDomain = NextendSocialLogin::$settings->get('authorized_domain');
|
12 |
+
$currentDomain = NextendSocialLogin::getDomain();
|
13 |
+
|
14 |
+
$licenseKey = substr(NextendSocialLogin::$settings->get('license_key'),0,8);
|
15 |
+
$isLicenseKeyOk = NextendSocialLogin::$settings->get('license_key_ok');
|
16 |
+
|
17 |
+
$defaultRedirect = NextendSocialLogin::$settings->get('default_redirect');
|
18 |
+
$defaultRedirectReg = NextendSocialLogin::$settings->get('default_redirect_reg');
|
19 |
+
|
20 |
+
$fixRedirect = NextendSocialLogin::$settings->get('redirect');
|
21 |
+
$fixRedirectReg = NextendSocialLogin::$settings->get('redirect_reg');
|
22 |
+
|
23 |
+
echo "<p><b>Pro Addon State</b> : ".$proAddonState."</p>";
|
24 |
+
echo "<p><b>Authorized Domain</b> : ".$authorizedDomain."</p>";
|
25 |
+
echo "<p><b>Current Domain</b> : ".$currentDomain."</p><br>";
|
26 |
+
|
27 |
+
echo "<p><b>License Key</b> : ".$licenseKey."...</p>";
|
28 |
+
echo "<p><b>License Key OK</b> : ". (boolval($isLicenseKeyOk) ? 'true' : 'false') ."</p><br>";
|
29 |
+
|
30 |
+
echo "<p><b>Default Redirect URL</b> : ".$defaultRedirect."</p>";
|
31 |
+
echo "<p><b>Default Reg Redirect URL</b> : ".$defaultRedirectReg."</p><br>";
|
32 |
+
|
33 |
+
echo "<p><b>Fix Redirect URL</b> : ".$fixRedirect."</p>";
|
34 |
+
echo "<p><b>Fix Reg Redirect URL</b> : ".$fixRedirectReg."</p><br>";
|
35 |
+
|
36 |
+
|
37 |
+
|
38 |
+
|
39 |
+
?>
|
40 |
+
</div>
|
includes/compat-wp-login.php
ADDED
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if (!defined('ABSPATH')) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Output the login page header.
|
8 |
+
*
|
9 |
+
* @param string $title Optional. WordPress login Page title to display in the `<title>` element.
|
10 |
+
* Default 'Log In'.
|
11 |
+
* @param string $message Optional. Message to display in header. Default empty.
|
12 |
+
* @param WP_Error $wp_error Optional. The error to pass. Default empty.
|
13 |
+
*/
|
14 |
+
function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
|
15 |
+
global $error, $interim_login, $action;
|
16 |
+
|
17 |
+
// Don't index any of these forms
|
18 |
+
add_action( 'login_head', 'wp_no_robots' );
|
19 |
+
|
20 |
+
add_action( 'login_head', 'wp_login_viewport_meta' );
|
21 |
+
|
22 |
+
if ( empty($wp_error) )
|
23 |
+
$wp_error = new WP_Error();
|
24 |
+
|
25 |
+
// Shake it!
|
26 |
+
$shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );
|
27 |
+
/**
|
28 |
+
* Filters the error codes array for shaking the login form.
|
29 |
+
*
|
30 |
+
* @since 3.0.0
|
31 |
+
*
|
32 |
+
* @param array $shake_error_codes Error codes that shake the login form.
|
33 |
+
*/
|
34 |
+
$shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes );
|
35 |
+
|
36 |
+
if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
|
37 |
+
add_action( 'login_head', 'wp_shake_js', 12 );
|
38 |
+
|
39 |
+
$login_title = get_bloginfo( 'name', 'display' );
|
40 |
+
|
41 |
+
/* translators: Login screen title. 1: Login screen name, 2: Network or site name */
|
42 |
+
$login_title = sprintf( __( '%1$s ‹ %2$s — WordPress' ), $title, $login_title );
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Filters the title tag content for login page.
|
46 |
+
*
|
47 |
+
* @since 4.9.0
|
48 |
+
*
|
49 |
+
* @param string $login_title The page title, with extra context added.
|
50 |
+
* @param string $title The original page title.
|
51 |
+
*/
|
52 |
+
$login_title = apply_filters( 'login_title', $login_title, $title );
|
53 |
+
|
54 |
+
?><!DOCTYPE html>
|
55 |
+
<!--[if IE 8]>
|
56 |
+
<html xmlns="http://www.w3.org/1999/xhtml" class="ie8" <?php language_attributes(); ?>>
|
57 |
+
<![endif]-->
|
58 |
+
<!--[if !(IE 8) ]><!-->
|
59 |
+
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
|
60 |
+
<!--<![endif]-->
|
61 |
+
<head>
|
62 |
+
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
|
63 |
+
<title><?php echo $login_title; ?></title>
|
64 |
+
<?php
|
65 |
+
|
66 |
+
wp_enqueue_style( 'login' );
|
67 |
+
|
68 |
+
/*
|
69 |
+
* Remove all stored post data on logging out.
|
70 |
+
* This could be added by add_action('login_head'...) like wp_shake_js(),
|
71 |
+
* but maybe better if it's not removable by plugins
|
72 |
+
*/
|
73 |
+
if ( 'loggedout' == $wp_error->get_error_code() ) {
|
74 |
+
?>
|
75 |
+
<script>if("sessionStorage" in window){try{for(var key in sessionStorage){if(key.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(key)}}}catch(e){}};</script>
|
76 |
+
<?php
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Enqueue scripts and styles for the login page.
|
81 |
+
*
|
82 |
+
* @since 3.1.0
|
83 |
+
*/
|
84 |
+
do_action( 'login_enqueue_scripts' );
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Fires in the login page header after scripts are enqueued.
|
88 |
+
*
|
89 |
+
* @since 2.1.0
|
90 |
+
*/
|
91 |
+
do_action( 'login_head' );
|
92 |
+
|
93 |
+
if ( is_multisite() ) {
|
94 |
+
$login_header_url = network_home_url();
|
95 |
+
$login_header_title = get_network()->site_name;
|
96 |
+
} else {
|
97 |
+
$login_header_url = __( 'https://wordpress.org/' );
|
98 |
+
$login_header_title = __( 'Powered by WordPress' );
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Filters link URL of the header logo above login form.
|
103 |
+
*
|
104 |
+
* @since 2.1.0
|
105 |
+
*
|
106 |
+
* @param string $login_header_url Login header logo URL.
|
107 |
+
*/
|
108 |
+
$login_header_url = apply_filters( 'login_headerurl', $login_header_url );
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Filters the title attribute of the header logo above login form.
|
112 |
+
*
|
113 |
+
* @since 2.1.0
|
114 |
+
*
|
115 |
+
* @param string $login_header_title Login header logo title attribute.
|
116 |
+
*/
|
117 |
+
$login_header_title = apply_filters( 'login_headertitle', $login_header_title );
|
118 |
+
|
119 |
+
/*
|
120 |
+
* To match the URL/title set above, Multisite sites have the blog name,
|
121 |
+
* while single sites get the header title.
|
122 |
+
*/
|
123 |
+
if ( is_multisite() ) {
|
124 |
+
$login_header_text = get_bloginfo( 'name', 'display' );
|
125 |
+
} else {
|
126 |
+
$login_header_text = $login_header_title;
|
127 |
+
}
|
128 |
+
|
129 |
+
$classes = array( 'login-action-' . $action, 'wp-core-ui' );
|
130 |
+
if ( is_rtl() )
|
131 |
+
$classes[] = 'rtl';
|
132 |
+
if ( $interim_login ) {
|
133 |
+
$classes[] = 'interim-login';
|
134 |
+
?>
|
135 |
+
<style type="text/css">html{background-color: transparent;}</style>
|
136 |
+
<?php
|
137 |
+
|
138 |
+
if ( 'success' === $interim_login )
|
139 |
+
$classes[] = 'interim-login-success';
|
140 |
+
}
|
141 |
+
$classes[] =' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Filters the login page body classes.
|
145 |
+
*
|
146 |
+
* @since 3.5.0
|
147 |
+
*
|
148 |
+
* @param array $classes An array of body classes.
|
149 |
+
* @param string $action The action that brought the visitor to the login page.
|
150 |
+
*/
|
151 |
+
$classes = apply_filters( 'login_body_class', $classes, $action );
|
152 |
+
|
153 |
+
?>
|
154 |
+
</head>
|
155 |
+
<body class="login <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
|
156 |
+
<?php
|
157 |
+
/**
|
158 |
+
* Fires in the login page header after the body tag is opened.
|
159 |
+
*
|
160 |
+
* @since 4.6.0
|
161 |
+
*/
|
162 |
+
do_action( 'login_header' );
|
163 |
+
?>
|
164 |
+
<div id="login">
|
165 |
+
<h1><a href="<?php echo esc_url( $login_header_url ); ?>" title="<?php echo esc_attr( $login_header_title ); ?>" tabindex="-1"><?php echo $login_header_text; ?></a></h1>
|
166 |
+
<?php
|
167 |
+
|
168 |
+
unset( $login_header_url, $login_header_title );
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Filters the message to display above the login form.
|
172 |
+
*
|
173 |
+
* @since 2.1.0
|
174 |
+
*
|
175 |
+
* @param string $message Login message text.
|
176 |
+
*/
|
177 |
+
$message = apply_filters( 'login_message', $message );
|
178 |
+
if ( !empty( $message ) )
|
179 |
+
echo $message . "\n";
|
180 |
+
|
181 |
+
// In case a plugin uses $error rather than the $wp_errors object
|
182 |
+
if ( !empty( $error ) ) {
|
183 |
+
$wp_error->add('error', $error);
|
184 |
+
unset($error);
|
185 |
+
}
|
186 |
+
|
187 |
+
if ( $wp_error->get_error_code() ) {
|
188 |
+
$errors = '';
|
189 |
+
$messages = '';
|
190 |
+
foreach ( $wp_error->get_error_codes() as $code ) {
|
191 |
+
$severity = $wp_error->get_error_data( $code );
|
192 |
+
foreach ( $wp_error->get_error_messages( $code ) as $error_message ) {
|
193 |
+
if ( 'message' == $severity )
|
194 |
+
$messages .= ' ' . $error_message . "<br />\n";
|
195 |
+
else
|
196 |
+
$errors .= ' ' . $error_message . "<br />\n";
|
197 |
+
}
|
198 |
+
}
|
199 |
+
if ( ! empty( $errors ) ) {
|
200 |
+
/**
|
201 |
+
* Filters the error messages displayed above the login form.
|
202 |
+
*
|
203 |
+
* @since 2.1.0
|
204 |
+
*
|
205 |
+
* @param string $errors Login error message.
|
206 |
+
*/
|
207 |
+
echo '<div id="login_error">' . apply_filters( 'login_errors', $errors ) . "</div>\n";
|
208 |
+
}
|
209 |
+
if ( ! empty( $messages ) ) {
|
210 |
+
/**
|
211 |
+
* Filters instructional messages displayed above the login form.
|
212 |
+
*
|
213 |
+
* @since 2.5.0
|
214 |
+
*
|
215 |
+
* @param string $messages Login messages.
|
216 |
+
*/
|
217 |
+
echo '<p class="message">' . apply_filters( 'login_messages', $messages ) . "</p>\n";
|
218 |
+
}
|
219 |
+
}
|
220 |
+
} // End of login_header()
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Outputs the footer for the login page.
|
224 |
+
*
|
225 |
+
* @param string $input_id Which input to auto-focus
|
226 |
+
*/
|
227 |
+
function login_footer($input_id = '') {
|
228 |
+
global $interim_login;
|
229 |
+
|
230 |
+
// Don't allow interim logins to navigate away from the page.
|
231 |
+
if ( ! $interim_login ): ?>
|
232 |
+
<p id="backtoblog"><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php
|
233 |
+
/* translators: %s: site title */
|
234 |
+
printf( _x( '← Back to %s', 'site' ), get_bloginfo( 'title', 'display' ) );
|
235 |
+
?></a></p>
|
236 |
+
<?php
|
237 |
+
if(function_exists('the_privacy_policy_link')) {
|
238 |
+
the_privacy_policy_link( '<div class="privacy-policy-page-link">', '</div>' );
|
239 |
+
}
|
240 |
+
?>
|
241 |
+
<?php endif; ?>
|
242 |
+
|
243 |
+
</div>
|
244 |
+
|
245 |
+
<?php if ( !empty($input_id) ) : ?>
|
246 |
+
<script type="text/javascript">
|
247 |
+
try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){}
|
248 |
+
if(typeof wpOnload=='function')wpOnload();
|
249 |
+
</script>
|
250 |
+
<?php endif; ?>
|
251 |
+
|
252 |
+
<?php
|
253 |
+
/**
|
254 |
+
* Fires in the login page footer.
|
255 |
+
*
|
256 |
+
* @since 3.1.0
|
257 |
+
*/
|
258 |
+
do_action( 'login_footer' ); ?>
|
259 |
+
<div class="clear"></div>
|
260 |
+
</body>
|
261 |
+
</html>
|
262 |
+
<?php
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* @since 3.7.0
|
267 |
+
*/
|
268 |
+
function wp_login_viewport_meta() {
|
269 |
+
?>
|
270 |
+
<meta name="viewport" content="width=device-width" />
|
271 |
+
<?php
|
272 |
+
}
|
273 |
+
|
274 |
+
if ( !in_array( $action, array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login' ), true ) && false === has_filter( 'login_form_' . $action ) )
|
275 |
+
$action = 'login';
|
276 |
+
|
277 |
+
nocache_headers();
|
includes/provider-admin.php
CHANGED
@@ -70,7 +70,7 @@ class NextendSocialProviderAdmin {
|
|
70 |
|
71 |
if (isset($postedData['custom_icon_button'])) {
|
72 |
if (isset($postedData['custom_icon_button_enabled']) && $postedData['custom_icon_button_enabled'] == '1') {
|
73 |
-
$newData['custom_icon_button'] = $postedData['custom_icon_button'];
|
74 |
} else {
|
75 |
if ($postedData['custom_icon_button'] != '') {
|
76 |
$newData['custom_icon_button'] = '';
|
@@ -78,6 +78,14 @@ class NextendSocialProviderAdmin {
|
|
78 |
}
|
79 |
}
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
foreach ($postedData AS $key => $value) {
|
82 |
|
83 |
switch ($key) {
|
70 |
|
71 |
if (isset($postedData['custom_icon_button'])) {
|
72 |
if (isset($postedData['custom_icon_button_enabled']) && $postedData['custom_icon_button_enabled'] == '1') {
|
73 |
+
$newData['custom_icon_button'] = wp_kses_post($postedData['custom_icon_button']);
|
74 |
} else {
|
75 |
if ($postedData['custom_icon_button'] != '') {
|
76 |
$newData['custom_icon_button'] = '';
|
78 |
}
|
79 |
}
|
80 |
|
81 |
+
if (isset($postedData['terms'])) {
|
82 |
+
if (isset($postedData['terms_override']) && $postedData['terms_override'] == '1') {
|
83 |
+
$newData['terms'] = $postedData['terms'];
|
84 |
+
} else {
|
85 |
+
$newData['terms'] = '';
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
foreach ($postedData AS $key => $value) {
|
90 |
|
91 |
switch ($key) {
|
includes/provider.php
CHANGED
@@ -53,7 +53,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
53 |
foreach ($this->getSyncFields() AS $field_name => $fieldData) {
|
54 |
|
55 |
$extraSettings['sync_fields/fields/' . $field_name . '/enabled'] = 0;
|
56 |
-
$extraSettings['sync_fields/fields/' . $field_name . '/meta_key'] = $field_name;
|
57 |
}
|
58 |
|
59 |
$this->settings = new NextendSocialLoginSettings($this->optionKey, array_merge(array(
|
@@ -67,6 +67,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
67 |
'user_prefix' => '',
|
68 |
'user_fallback' => '',
|
69 |
'oauth_redirect_url' => '',
|
|
|
70 |
|
71 |
'sync_fields/link' => 0,
|
72 |
'sync_fields/login' => 0
|
@@ -113,7 +114,13 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
113 |
$args['interim-login'] = 1;
|
114 |
}
|
115 |
|
116 |
-
return add_query_arg($args,
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
public function needPro() {
|
@@ -158,7 +165,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
158 |
*/
|
159 |
public function checkOauthRedirectUrl() {
|
160 |
$oauth_redirect_url = $this->settings->get('oauth_redirect_url');
|
161 |
-
if (empty($oauth_redirect_url) || $oauth_redirect_url == $this->
|
162 |
return true;
|
163 |
}
|
164 |
|
@@ -167,7 +174,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
167 |
|
168 |
public function updateOauthRedirectUrl() {
|
169 |
$this->settings->update(array(
|
170 |
-
'oauth_redirect_url' => $this->
|
171 |
));
|
172 |
}
|
173 |
|
@@ -367,6 +374,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
367 |
* @param $providerIdentifier
|
368 |
* Insert the userid into the wp_social_users table,
|
369 |
* in this way a link is created between user accounts and the providers.
|
|
|
370 |
* @return bool
|
371 |
*/
|
372 |
public function linkUserToProviderIdentifier($user_id, $providerIdentifier) {
|
@@ -469,6 +477,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
469 |
/**
|
470 |
* @param $user_id
|
471 |
* If a user has linked the account with a provider return the user identifier else false.
|
|
|
472 |
* @return bool|null|string
|
473 |
*/
|
474 |
public function isUserConnected($user_id) {
|
@@ -555,7 +564,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
555 |
}
|
556 |
|
557 |
public function redirectToLoginForm() {
|
558 |
-
self::redirect(__('Authentication error', 'nextend-facebook-connect'),
|
559 |
}
|
560 |
|
561 |
/**
|
@@ -609,20 +618,10 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
609 |
if (\NSL\Persistent\Persistent::get($this->id . '_interim_login') == 1) {
|
610 |
$this->deleteLoginPersistentData();
|
611 |
|
612 |
-
$url = add_query_arg('interim_login', 'nsl',
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
<head>
|
617 |
-
<meta charset=utf-8>
|
618 |
-
<title><?php _e('Authentication successful', 'nextend-facebook-connect'); ?></title>
|
619 |
-
<script type="text/javascript">
|
620 |
-
window.location = <?php echo wp_json_encode($url); ?>;
|
621 |
-
</script>
|
622 |
-
<meta http-equiv="refresh" content="0;<?php echo esc_attr($url); ?>">
|
623 |
-
</head>
|
624 |
-
</html>
|
625 |
-
<?php
|
626 |
exit;
|
627 |
}
|
628 |
|
@@ -645,6 +644,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
645 |
* If fixed redirect url is not set and there is no redirect in the url, redirects to the default redirect url if it
|
646 |
* is set.
|
647 |
* Else redirect to the site url.
|
|
|
648 |
* @return mixed|void
|
649 |
*/
|
650 |
protected function getLastLocationRedirectTo() {
|
@@ -753,7 +753,7 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
753 |
|
754 |
$this->settings->update(array(
|
755 |
'tested' => 1,
|
756 |
-
'oauth_redirect_url' => $this->
|
757 |
));
|
758 |
|
759 |
\NSL\Notices::addSuccess(__('The test was successful', 'nextend-facebook-connect'));
|
@@ -927,4 +927,54 @@ abstract class NextendSocialProvider extends NextendSocialProviderDummy {
|
|
927 |
protected function updateAvatar($user_id, $url) {
|
928 |
do_action('nsl_update_avatar', $this, $user_id, $url);
|
929 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
930 |
}
|
53 |
foreach ($this->getSyncFields() AS $field_name => $fieldData) {
|
54 |
|
55 |
$extraSettings['sync_fields/fields/' . $field_name . '/enabled'] = 0;
|
56 |
+
$extraSettings['sync_fields/fields/' . $field_name . '/meta_key'] = $this->id . '_' . $field_name;
|
57 |
}
|
58 |
|
59 |
$this->settings = new NextendSocialLoginSettings($this->optionKey, array_merge(array(
|
67 |
'user_prefix' => '',
|
68 |
'user_fallback' => '',
|
69 |
'oauth_redirect_url' => '',
|
70 |
+
'terms' => '',
|
71 |
|
72 |
'sync_fields/link' => 0,
|
73 |
'sync_fields/login' => 0
|
114 |
$args['interim-login'] = 1;
|
115 |
}
|
116 |
|
117 |
+
return add_query_arg($args, NextendSocialLogin::getLoginUrl());
|
118 |
+
}
|
119 |
+
|
120 |
+
public function getRedirectUri() {
|
121 |
+
$args = array('loginSocial' => $this->getId());
|
122 |
+
|
123 |
+
return add_query_arg($args, NextendSocialLogin::getLoginUrl());
|
124 |
}
|
125 |
|
126 |
public function needPro() {
|
165 |
*/
|
166 |
public function checkOauthRedirectUrl() {
|
167 |
$oauth_redirect_url = $this->settings->get('oauth_redirect_url');
|
168 |
+
if (empty($oauth_redirect_url) || $oauth_redirect_url == $this->getRedirectUri()) {
|
169 |
return true;
|
170 |
}
|
171 |
|
174 |
|
175 |
public function updateOauthRedirectUrl() {
|
176 |
$this->settings->update(array(
|
177 |
+
'oauth_redirect_url' => $this->getRedirectUri()
|
178 |
));
|
179 |
}
|
180 |
|
374 |
* @param $providerIdentifier
|
375 |
* Insert the userid into the wp_social_users table,
|
376 |
* in this way a link is created between user accounts and the providers.
|
377 |
+
*
|
378 |
* @return bool
|
379 |
*/
|
380 |
public function linkUserToProviderIdentifier($user_id, $providerIdentifier) {
|
477 |
/**
|
478 |
* @param $user_id
|
479 |
* If a user has linked the account with a provider return the user identifier else false.
|
480 |
+
*
|
481 |
* @return bool|null|string
|
482 |
*/
|
483 |
public function isUserConnected($user_id) {
|
564 |
}
|
565 |
|
566 |
public function redirectToLoginForm() {
|
567 |
+
self::redirect(__('Authentication error', 'nextend-facebook-connect'), NextendSocialLogin::getLoginUrl());
|
568 |
}
|
569 |
|
570 |
/**
|
618 |
if (\NSL\Persistent\Persistent::get($this->id . '_interim_login') == 1) {
|
619 |
$this->deleteLoginPersistentData();
|
620 |
|
621 |
+
$url = add_query_arg('interim_login', 'nsl', NextendSocialLogin::getLoginUrl('login'));
|
622 |
+
|
623 |
+
self::redirect(__('Authentication successful', 'nextend-facebook-connect'), $url);
|
624 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
625 |
exit;
|
626 |
}
|
627 |
|
644 |
* If fixed redirect url is not set and there is no redirect in the url, redirects to the default redirect url if it
|
645 |
* is set.
|
646 |
* Else redirect to the site url.
|
647 |
+
*
|
648 |
* @return mixed|void
|
649 |
*/
|
650 |
protected function getLastLocationRedirectTo() {
|
753 |
|
754 |
$this->settings->update(array(
|
755 |
'tested' => 1,
|
756 |
+
'oauth_redirect_url' => $this->getRedirectUri()
|
757 |
));
|
758 |
|
759 |
\NSL\Notices::addSuccess(__('The test was successful', 'nextend-facebook-connect'));
|
927 |
protected function updateAvatar($user_id, $url) {
|
928 |
do_action('nsl_update_avatar', $this, $user_id, $url);
|
929 |
}
|
930 |
+
|
931 |
+
public function exportPersonalData($userID) {
|
932 |
+
$data = array();
|
933 |
+
|
934 |
+
$socialID = $this->isUserConnected($userID);
|
935 |
+
if ($socialID !== false) {
|
936 |
+
$data[] = array(
|
937 |
+
'name' => $this->getLabel() . ' ' . __('Identifier'),
|
938 |
+
'value' => $socialID,
|
939 |
+
);
|
940 |
+
}
|
941 |
+
|
942 |
+
$accessToken = $this->getAccessToken($userID);
|
943 |
+
if (!empty($accessToken)) {
|
944 |
+
$data[] = array(
|
945 |
+
'name' => $this->getLabel() . ' ' . __('Access token'),
|
946 |
+
'value' => $accessToken,
|
947 |
+
);
|
948 |
+
}
|
949 |
+
|
950 |
+
$profilePicture = $this->getUserData($userID, 'profile_picture');
|
951 |
+
if (!empty($profilePicture)) {
|
952 |
+
$data[] = array(
|
953 |
+
'name' => $this->getLabel() . ' ' . __('Profile picture'),
|
954 |
+
'value' => $profilePicture,
|
955 |
+
);
|
956 |
+
}
|
957 |
+
|
958 |
+
foreach ($this->getSyncFields() AS $fieldName => $fieldData) {
|
959 |
+
$meta_key = $this->settings->get('sync_fields/fields/' . $fieldName . '/meta_key');
|
960 |
+
if (!empty($meta_key)) {
|
961 |
+
$value = get_user_meta($userID, $meta_key, true);
|
962 |
+
if (!empty($value)) {
|
963 |
+
$data[] = array(
|
964 |
+
'name' => $this->getLabel() . ' ' . $fieldData['label'],
|
965 |
+
'value' => $value
|
966 |
+
);
|
967 |
+
}
|
968 |
+
}
|
969 |
+
}
|
970 |
+
|
971 |
+
|
972 |
+
return $data;
|
973 |
+
}
|
974 |
+
|
975 |
+
protected function storeAccessToken($userID, $accessToken) {
|
976 |
+
if (NextendSocialLogin::$settings->get('store_access_token') == 1) {
|
977 |
+
$this->saveUserData($userID, 'access_token', $accessToken);
|
978 |
+
}
|
979 |
+
}
|
980 |
}
|
includes/user.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
|
3 |
class NextendSocialUser {
|
4 |
|
@@ -87,9 +88,13 @@ class NextendSocialUser {
|
|
87 |
|
88 |
$user_id = false;
|
89 |
|
90 |
-
$email = $this->getAuthUserData('email');
|
91 |
$providerUserID = $this->getAuthUserData('id');
|
92 |
|
|
|
|
|
|
|
|
|
|
|
93 |
if (empty($email)) {
|
94 |
$email = '';
|
95 |
} else {
|
@@ -99,7 +104,7 @@ class NextendSocialUser {
|
|
99 |
if (apply_filters('nsl_is_register_allowed', true, $this->provider)) {
|
100 |
$this->register($providerUserID, $email);
|
101 |
} else {
|
102 |
-
NextendSocialProvider::redirect(__('Authentication error', 'nextend-facebook-connect'),
|
103 |
exit;
|
104 |
}
|
105 |
|
@@ -150,38 +155,52 @@ class NextendSocialUser {
|
|
150 |
protected function register($providerID, $email) {
|
151 |
NextendSocialLogin::$WPLoginCurrentFlow = 'register';
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
159 |
if ($sanitized_user_login === false) {
|
160 |
-
$sanitized_user_login = $this->sanitizeUserName($this->getAuthUserData('
|
|
|
|
|
|
|
161 |
}
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
164 |
$userData = array(
|
165 |
'email' => $email,
|
166 |
'username' => $sanitized_user_login
|
167 |
);
|
168 |
|
169 |
do_action('nsl_before_register', $this->provider);
|
170 |
-
$userData = apply_filters('nsl_' . $this->provider->getId() . '_register_user_data', $userData);//validated userdata
|
171 |
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
179 |
/**
|
180 |
* -If neither of the usernames ( first_name & last_name, secondary_name) are appropriate, the fallback username will be combined with and id that was sent by the provider.
|
181 |
* -In this way we can generate an appropriate username.
|
182 |
*/
|
183 |
if (empty($userData['username'])) {
|
184 |
-
$userData['username'] = sanitize_user($this->provider->settings->get('user_fallback') .
|
185 |
}
|
186 |
|
187 |
/**
|
@@ -261,27 +280,30 @@ class NextendSocialUser {
|
|
261 |
return false;
|
262 |
}
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
|
|
269 |
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
|
|
275 |
}
|
276 |
-
}
|
277 |
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
|
|
283 |
}
|
284 |
}
|
|
|
285 |
if (!empty($user_data)) {
|
286 |
$user_data['ID'] = $user_id;
|
287 |
wp_update_user($user_data);
|
@@ -406,4 +428,48 @@ class NextendSocialUser {
|
|
406 |
public function getProvider() {
|
407 |
return $this->provider;
|
408 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
409 |
}
|
1 |
<?php
|
2 |
+
require_once(NSL_PATH . '/includes/userData.php');
|
3 |
|
4 |
class NextendSocialUser {
|
5 |
|
88 |
|
89 |
$user_id = false;
|
90 |
|
|
|
91 |
$providerUserID = $this->getAuthUserData('id');
|
92 |
|
93 |
+
$email = '';
|
94 |
+
if (NextendSocialLogin::$settings->get('store_email') == 1) {
|
95 |
+
$email = $this->getAuthUserData('email');
|
96 |
+
}
|
97 |
+
|
98 |
if (empty($email)) {
|
99 |
$email = '';
|
100 |
} else {
|
104 |
if (apply_filters('nsl_is_register_allowed', true, $this->provider)) {
|
105 |
$this->register($providerUserID, $email);
|
106 |
} else {
|
107 |
+
NextendSocialProvider::redirect(__('Authentication error', 'nextend-facebook-connect'), add_query_arg('registration', 'disabled', NextendSocialLogin::getLoginUrl()));
|
108 |
exit;
|
109 |
}
|
110 |
|
155 |
protected function register($providerID, $email) {
|
156 |
NextendSocialLogin::$WPLoginCurrentFlow = 'register';
|
157 |
|
158 |
+
$sanitized_user_login = false;
|
159 |
+
|
160 |
+
if (NextendSocialLogin::$settings->get('store_name') == 1) {
|
161 |
+
/**
|
162 |
+
* First checks provided first_name & last_name if it is not available checks name if it is neither available checks secondary_name.
|
163 |
+
*/
|
164 |
+
$sanitized_user_login = $this->sanitizeUserName($this->getAuthUserData('first_name') . $this->getAuthUserData('last_name'));
|
165 |
if ($sanitized_user_login === false) {
|
166 |
+
$sanitized_user_login = $this->sanitizeUserName($this->getAuthUserData('username'));
|
167 |
+
if ($sanitized_user_login === false) {
|
168 |
+
$sanitized_user_login = $this->sanitizeUserName($this->getAuthUserData('name'));
|
169 |
+
}
|
170 |
}
|
171 |
}
|
172 |
|
173 |
+
$email = '';
|
174 |
+
if (NextendSocialLogin::$settings->get('store_email') == 1) {
|
175 |
+
$email = $this->getAuthUserData('email');
|
176 |
+
}
|
177 |
$userData = array(
|
178 |
'email' => $email,
|
179 |
'username' => $sanitized_user_login
|
180 |
);
|
181 |
|
182 |
do_action('nsl_before_register', $this->provider);
|
|
|
183 |
|
184 |
+
do_action('nsl_' . $this->provider->getId() . '_before_register');
|
185 |
+
|
186 |
+
if (NextendSocialLogin::$settings->get('terms_show') == '1') {
|
187 |
+
|
188 |
+
add_filter('nsl_registration_require_extra_input', array(
|
189 |
+
$this,
|
190 |
+
'require_extra_input_terms'
|
191 |
+
));
|
192 |
}
|
193 |
|
194 |
+
|
195 |
+
/** @var array $userData Validated user data */
|
196 |
+
$userData = $this->finalizeUserData($userData);
|
197 |
+
|
198 |
/**
|
199 |
* -If neither of the usernames ( first_name & last_name, secondary_name) are appropriate, the fallback username will be combined with and id that was sent by the provider.
|
200 |
* -In this way we can generate an appropriate username.
|
201 |
*/
|
202 |
if (empty($userData['username'])) {
|
203 |
+
$userData['username'] = sanitize_user($this->provider->settings->get('user_fallback') . md5(uniqid(rand())), true);
|
204 |
}
|
205 |
|
206 |
/**
|
280 |
return false;
|
281 |
}
|
282 |
|
283 |
+
if (NextendSocialLogin::$settings->get('store_name') == 1) {
|
284 |
+
$user_data = array();
|
285 |
+
$name = $this->getAuthUserData('name');
|
286 |
+
if (!empty($name)) {
|
287 |
+
$user_data['display_name'] = $name;
|
288 |
+
}
|
289 |
|
290 |
+
$first_name = $this->getAuthUserData('first_name');
|
291 |
+
if (!empty($first_name)) {
|
292 |
+
$user_data['first_name'] = $first_name;
|
293 |
+
if (class_exists('WooCommerce', false)) {
|
294 |
+
add_user_meta($user_id, 'billing_first_name', $first_name);
|
295 |
+
}
|
296 |
}
|
|
|
297 |
|
298 |
+
$last_name = $this->getAuthUserData('last_name');
|
299 |
+
if (!empty($last_name)) {
|
300 |
+
$user_data['last_name'] = $last_name;
|
301 |
+
if (class_exists('WooCommerce', false)) {
|
302 |
+
add_user_meta($user_id, 'billing_last_name', $last_name);
|
303 |
+
}
|
304 |
}
|
305 |
}
|
306 |
+
|
307 |
if (!empty($user_data)) {
|
308 |
$user_data['ID'] = $user_id;
|
309 |
wp_update_user($user_data);
|
428 |
public function getProvider() {
|
429 |
return $this->provider;
|
430 |
}
|
431 |
+
|
432 |
+
/**
|
433 |
+
* @param $userData
|
434 |
+
*
|
435 |
+
* @return array
|
436 |
+
* @throws NSLContinuePageRenderException
|
437 |
+
*/
|
438 |
+
public function finalizeUserData($userData) {
|
439 |
+
|
440 |
+
$data = new NextendSocialUserData($userData, $this, $this->provider);
|
441 |
+
|
442 |
+
return $data->toArray();
|
443 |
+
}
|
444 |
+
|
445 |
+
public function require_extra_input_terms($askExtraData) {
|
446 |
+
|
447 |
+
add_action('nsl_registration_form_end', array(
|
448 |
+
$this,
|
449 |
+
'registration_form_terms'
|
450 |
+
), 10000);
|
451 |
+
|
452 |
+
return true;
|
453 |
+
}
|
454 |
+
|
455 |
+
public function registration_form_terms($userData) {
|
456 |
+
?>
|
457 |
+
<p>
|
458 |
+
<?php
|
459 |
+
$terms = $this->provider->settings->get('terms');
|
460 |
+
|
461 |
+
if (empty($terms)) {
|
462 |
+
$terms = NextendSocialLogin::$settings->get('terms');
|
463 |
+
}
|
464 |
+
|
465 |
+
if (function_exists('get_privacy_policy_url')) {
|
466 |
+
$terms = str_replace('#privacy_policy_url', get_privacy_policy_url(), $terms);
|
467 |
+
}
|
468 |
+
|
469 |
+
echo __($terms, 'nextend-facebook-connect');
|
470 |
+
|
471 |
+
?>
|
472 |
+
</p>
|
473 |
+
<?php
|
474 |
+
}
|
475 |
}
|
includes/userData.php
ADDED
@@ -0,0 +1,265 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class NextendSocialUserData {
|
4 |
+
|
5 |
+
/** @var array */
|
6 |
+
private $userData;
|
7 |
+
|
8 |
+
/** @var NextendSocialUser */
|
9 |
+
private $socialUser;
|
10 |
+
|
11 |
+
/** @var NextendSocialProvider */
|
12 |
+
private $provider;
|
13 |
+
|
14 |
+
/** @var WP_Error */
|
15 |
+
private $errors;
|
16 |
+
|
17 |
+
private $isCustomRegisterFlow = false;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* NextendSocialUserData constructor.
|
21 |
+
*
|
22 |
+
* @param $userData
|
23 |
+
* @param $socialUser
|
24 |
+
* @param $provider
|
25 |
+
*
|
26 |
+
* @throws NSLContinuePageRenderException
|
27 |
+
*/
|
28 |
+
public function __construct($userData, $socialUser, $provider) {
|
29 |
+
|
30 |
+
$this->userData = $userData;
|
31 |
+
$this->socialUser = $socialUser;
|
32 |
+
$this->provider = $provider;
|
33 |
+
|
34 |
+
$askExtraData = apply_filters('nsl_registration_require_extra_input', false, $this->userData);
|
35 |
+
|
36 |
+
if ($askExtraData) {
|
37 |
+
$registerFlowPage = NextendSocialLogin::getRegisterFlowPage();
|
38 |
+
if ($registerFlowPage !== false) {
|
39 |
+
if (!is_page($registerFlowPage)) {
|
40 |
+
wp_redirect(add_query_arg(array(
|
41 |
+
'loginSocial' => $this->provider->getId()
|
42 |
+
), get_permalink($registerFlowPage)));
|
43 |
+
exit;
|
44 |
+
}
|
45 |
+
$this->isCustomRegisterFlow = true;
|
46 |
+
|
47 |
+
} else if (NextendSocialLogin::$WPLoginCurrentView == 'login' && get_option('users_can_register')) {
|
48 |
+
wp_redirect(add_query_arg(array(
|
49 |
+
'loginSocial' => $this->provider->getId()
|
50 |
+
), NextendSocialLogin::getRegisterUrl()));
|
51 |
+
exit;
|
52 |
+
}
|
53 |
+
|
54 |
+
$this->errors = new WP_Error();
|
55 |
+
|
56 |
+
$this->userData = apply_filters('nsl_registration_validate_extra_input', $this->userData, $this->errors);
|
57 |
+
|
58 |
+
/**
|
59 |
+
* It is not a submit or there is an error
|
60 |
+
*/
|
61 |
+
if (!$this->isPost() || $this->errors->get_error_code() != '') {
|
62 |
+
$this->displayForm();
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
public function toArray() {
|
68 |
+
return $this->userData;
|
69 |
+
}
|
70 |
+
|
71 |
+
public function isPost() {
|
72 |
+
return isset($_POST['submit']);
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @throws NSLContinuePageRenderException
|
77 |
+
*/
|
78 |
+
public function displayForm() {
|
79 |
+
NextendSocialLogin::removeLoginFormAssets();
|
80 |
+
|
81 |
+
if ($this->isCustomRegisterFlow) {
|
82 |
+
add_shortcode('nextend_social_login_register_flow', array(
|
83 |
+
$this,
|
84 |
+
'customRegisterFlowShortcode'
|
85 |
+
));
|
86 |
+
throw new NSLContinuePageRenderException('CUSTOM_REGISTER_FLOW');
|
87 |
+
} else {
|
88 |
+
|
89 |
+
if (!function_exists('login_header')) {
|
90 |
+
|
91 |
+
if (NextendSocialLogin::$WPLoginCurrentView == 'register-bp') {
|
92 |
+
|
93 |
+
if (class_exists('NextendSocialLoginPRO', false)) {
|
94 |
+
remove_action('bp_before_account_details_fields', 'NextendSocialLoginPRO::bp_register_form');
|
95 |
+
remove_action('bp_before_register_page', 'NextendSocialLoginPRO::bp_register_form');
|
96 |
+
remove_action('bp_after_register_page', 'NextendSocialLoginPRO::bp_register_form');
|
97 |
+
}
|
98 |
+
|
99 |
+
add_action('bp_before_register_page', array(
|
100 |
+
$this,
|
101 |
+
'bp_before_register_page'
|
102 |
+
));
|
103 |
+
|
104 |
+
add_action('bp_after_register_page', array(
|
105 |
+
$this,
|
106 |
+
'bp_after_register_page'
|
107 |
+
));
|
108 |
+
|
109 |
+
throw new NSLContinuePageRenderException('BuddyPress');
|
110 |
+
} else if (defined('THEME_MY_LOGIN_PATH')) {
|
111 |
+
add_shortcode('theme-my-login', array(
|
112 |
+
$this,
|
113 |
+
'render_registration_form_tml'
|
114 |
+
));
|
115 |
+
|
116 |
+
throw new NSLContinuePageRenderException('THEME_MY_LOGIN');
|
117 |
+
}
|
118 |
+
|
119 |
+
require_once(dirname(__FILE__) . '/compat-wp-login.php');
|
120 |
+
}
|
121 |
+
|
122 |
+
login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site!') . '</p>', $this->errors);
|
123 |
+
|
124 |
+
$this->render_registration_form();
|
125 |
+
|
126 |
+
login_footer('user_login');
|
127 |
+
exit;
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
public function customRegisterFlowShortcode() {
|
132 |
+
$errors = $this->errors;
|
133 |
+
if (is_wp_error($errors)) {
|
134 |
+
$html = array();
|
135 |
+
if ($errors->get_error_messages()) {
|
136 |
+
foreach ($errors->get_error_messages() as $error) {
|
137 |
+
$html[] = '<div class="error">' . $error . '</div>';
|
138 |
+
}
|
139 |
+
}
|
140 |
+
if (!empty($html)) {
|
141 |
+
echo '<style>.nsl-messages .error{background-color: #e2401c;border-left: .6180469716em solid rgba(0,0,0,.15);padding: 1em 1.618em;margin-bottom: 2.617924em;color:#fff;}</style>';
|
142 |
+
echo '<div class="nsl-messages">' . implode('', $html) . '</div>';
|
143 |
+
}
|
144 |
+
}
|
145 |
+
$this->errors = array();
|
146 |
+
|
147 |
+
$this->render_registration_form();
|
148 |
+
}
|
149 |
+
|
150 |
+
public function render_registration_form() {
|
151 |
+
if ($this->isCustomRegisterFlow) {
|
152 |
+
$postUrl = add_query_arg(array(
|
153 |
+
'loginSocial' => $this->provider->getId()
|
154 |
+
), get_permalink(NextendSocialLogin::getRegisterFlowPage()));
|
155 |
+
} else if (strpos(NextendSocialLogin::$WPLoginCurrentView, 'register') === 0) {
|
156 |
+
$postUrl = add_query_arg(array(
|
157 |
+
'loginSocial' => $this->provider->getId()
|
158 |
+
), NextendSocialLogin::getRegisterUrl());
|
159 |
+
} else {
|
160 |
+
$postUrl = add_query_arg('loginSocial', $this->provider->getId(), NextendSocialLogin::getLoginUrl('login_post'));
|
161 |
+
}
|
162 |
+
?>
|
163 |
+
<form name="registerform" id="registerform" action="<?php echo esc_url($postUrl); ?>" method="post">
|
164 |
+
<input type="hidden" name="submit" value="1"/>
|
165 |
+
|
166 |
+
<?php do_action('nsl_registration_form_start', $this->userData); ?>
|
167 |
+
|
168 |
+
<?php do_action('nsl_registration_form_end', $this->userData); ?>
|
169 |
+
|
170 |
+
<br class="clear"/>
|
171 |
+
<p class="submit"><input type="submit" name="wp-submit" id="wp-submit"
|
172 |
+
class="button button-primary button-large" value="<?php esc_attr_e('Register'); ?>"/></p>
|
173 |
+
</form>
|
174 |
+
<?php
|
175 |
+
}
|
176 |
+
|
177 |
+
public function render_registration_form_tml() {
|
178 |
+
?>
|
179 |
+
<div class="tml tml-register" id="theme-my-login">
|
180 |
+
<?php
|
181 |
+
$registerMessage = Theme_My_Login_Template::get_action_template_message('register');
|
182 |
+
if (!empty($registerMessage)) {
|
183 |
+
$before_message = '<p class="message">';
|
184 |
+
$after_message = '</p>';
|
185 |
+
echo $before_message . $registerMessage . $after_message;
|
186 |
+
}
|
187 |
+
|
188 |
+
$wp_error = $this->errors;
|
189 |
+
if (is_wp_error($wp_error)) {
|
190 |
+
if ($wp_error->get_error_code()) {
|
191 |
+
$errors = '';
|
192 |
+
$messages = '';
|
193 |
+
foreach ($wp_error->get_error_codes() as $code) {
|
194 |
+
$severity = $wp_error->get_error_data($code);
|
195 |
+
foreach ($wp_error->get_error_messages($code) as $error) {
|
196 |
+
if ('message' == $severity) {
|
197 |
+
$messages .= ' ' . $error . "<br />\n";
|
198 |
+
} else {
|
199 |
+
$errors .= ' ' . $error . "<br />\n";
|
200 |
+
}
|
201 |
+
}
|
202 |
+
}
|
203 |
+
if (!empty($errors)) {
|
204 |
+
echo '<p class="error">' . apply_filters('login_errors', $errors) . "</p>\n";
|
205 |
+
}
|
206 |
+
if (!empty($messages)) {
|
207 |
+
echo '<p class="message">' . apply_filters('login_messages', $messages) . "</p>\n";
|
208 |
+
}
|
209 |
+
}
|
210 |
+
}
|
211 |
+
$this->errors = array();
|
212 |
+
|
213 |
+
|
214 |
+
$this->render_registration_form();
|
215 |
+
?>
|
216 |
+
</div>
|
217 |
+
<?php
|
218 |
+
}
|
219 |
+
|
220 |
+
public function bp_before_register_page() {
|
221 |
+
ob_start();
|
222 |
+
}
|
223 |
+
|
224 |
+
public function bp_after_register_page() {
|
225 |
+
ob_end_clean();
|
226 |
+
|
227 |
+
$wp_error = $this->errors;
|
228 |
+
if (is_wp_error($wp_error)) {
|
229 |
+
if ($wp_error->get_error_code()) {
|
230 |
+
$errors = '';
|
231 |
+
$messages = '';
|
232 |
+
foreach ($wp_error->get_error_codes() as $code) {
|
233 |
+
$severity = $wp_error->get_error_data($code);
|
234 |
+
foreach ($wp_error->get_error_messages($code) as $error) {
|
235 |
+
if ('message' == $severity) {
|
236 |
+
$messages .= ' ' . $error . "<br />\n";
|
237 |
+
} else {
|
238 |
+
$errors .= ' ' . $error . "<br />\n";
|
239 |
+
}
|
240 |
+
}
|
241 |
+
}
|
242 |
+
$html = '';
|
243 |
+
if (!empty($errors)) {
|
244 |
+
$html .= '<div class="error">' . apply_filters('login_errors', $errors) . "</div>\n";
|
245 |
+
}
|
246 |
+
if (!empty($messages)) {
|
247 |
+
$html .= '<div class="message">' . apply_filters('login_messages', $messages) . "</div>\n";
|
248 |
+
}
|
249 |
+
|
250 |
+
if (!empty($html)) {
|
251 |
+
?>
|
252 |
+
<div id="signup_form" class="standard-form">
|
253 |
+
<div>
|
254 |
+
<?php echo $html; ?>
|
255 |
+
</div>
|
256 |
+
</div>
|
257 |
+
<?php
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
$this->errors = array();
|
262 |
+
|
263 |
+
$this->render_registration_form();
|
264 |
+
}
|
265 |
+
}
|
js/nsl.js
CHANGED
@@ -39,7 +39,6 @@ var isWebView = null;
|
|
39 |
|
40 |
function checkWebView() {
|
41 |
if (isWebView === null) {
|
42 |
-
//Based on UserAgent.js {@link https://github.com/uupaa/UserAgent.js}
|
43 |
function _detectOS(ua) {
|
44 |
switch (true) {
|
45 |
case /Android/.test(ua):
|
@@ -63,17 +62,17 @@ function checkWebView() {
|
|
63 |
|
64 |
switch (true) {
|
65 |
case /CriOS/.test(ua):
|
66 |
-
return "Chrome for iOS";
|
67 |
case /Edge/.test(ua):
|
68 |
return "Edge";
|
69 |
case android && /Silk\//.test(ua):
|
70 |
-
return "Silk";
|
71 |
case /Chrome/.test(ua):
|
72 |
return "Chrome";
|
73 |
case /Firefox/.test(ua):
|
74 |
return "Firefox";
|
75 |
case android:
|
76 |
-
return "AOSP";
|
77 |
case /MSIE|Trident/.test(ua):
|
78 |
return "IE";
|
79 |
case /Safari\//.test(ua):
|
@@ -100,9 +99,9 @@ function checkWebView() {
|
|
100 |
return _getVersion(ua, "Version/");
|
101 |
case "IE":
|
102 |
return /IEMobile/.test(ua) ? _getVersion(ua, "IEMobile/") :
|
103 |
-
/MSIE/.test(ua) ? _getVersion(ua, "MSIE ")
|
104 |
:
|
105 |
-
_getVersion(ua, "rv:");
|
106 |
case "Safari":
|
107 |
return _getVersion(ua, "Version/");
|
108 |
case "WebKit":
|
@@ -115,7 +114,6 @@ function checkWebView() {
|
|
115 |
try {
|
116 |
return _normalizeSemverString(ua.split(token)[1].trim().split(/[^\w\.]/)[0]);
|
117 |
} catch (o_O) {
|
118 |
-
// ignore
|
119 |
}
|
120 |
return "0.0.0";
|
121 |
}
|
@@ -134,23 +132,14 @@ function checkWebView() {
|
|
134 |
case "iOSWebKit":
|
135 |
return _isWebView_iOS(options);
|
136 |
case "AndroidAOSP":
|
137 |
-
return false;
|
138 |
case "AndroidChrome":
|
139 |
return parseFloat(version) >= 42 ? /; wv/.test(ua) : /\d{2}\.0\.0/.test(version) ? true : _isWebView_Android(options);
|
140 |
}
|
141 |
return false;
|
142 |
}
|
143 |
|
144 |
-
function _isWebView_iOS(options) {
|
145 |
-
// @ret Boolean
|
146 |
-
// Chrome 15++, Safari 5.1++, IE11, Edge, Firefox10++
|
147 |
-
// Android 5.0 ChromeWebView 30: webkitFullscreenEnabled === false
|
148 |
-
// Android 5.0 ChromeWebView 33: webkitFullscreenEnabled === false
|
149 |
-
// Android 5.0 ChromeWebView 36: webkitFullscreenEnabled === false
|
150 |
-
// Android 5.0 ChromeWebView 37: webkitFullscreenEnabled === false
|
151 |
-
// Android 5.0 ChromeWebView 40: webkitFullscreenEnabled === false
|
152 |
-
// Android 5.0 ChromeWebView 42: webkitFullscreenEnabled === ?
|
153 |
-
// Android 5.0 ChromeWebView 44: webkitFullscreenEnabled === true
|
154 |
var document = (window["document"] || {});
|
155 |
|
156 |
if ("WEB_VIEW" in options) {
|
@@ -160,14 +149,6 @@ function checkWebView() {
|
|
160 |
}
|
161 |
|
162 |
function _isWebView_Android(options) {
|
163 |
-
// Chrome 8++
|
164 |
-
// Android 5.0 ChromeWebView 30: webkitRequestFileSystem === false
|
165 |
-
// Android 5.0 ChromeWebView 33: webkitRequestFileSystem === false
|
166 |
-
// Android 5.0 ChromeWebView 36: webkitRequestFileSystem === false
|
167 |
-
// Android 5.0 ChromeWebView 37: webkitRequestFileSystem === false
|
168 |
-
// Android 5.0 ChromeWebView 40: webkitRequestFileSystem === false
|
169 |
-
// Android 5.0 ChromeWebView 42: webkitRequestFileSystem === false
|
170 |
-
// Android 5.0 ChromeWebView 44: webkitRequestFileSystem === false
|
171 |
if ("WEB_VIEW" in options) {
|
172 |
return options["WEB_VIEW"];
|
173 |
}
|
39 |
|
40 |
function checkWebView() {
|
41 |
if (isWebView === null) {
|
|
|
42 |
function _detectOS(ua) {
|
43 |
switch (true) {
|
44 |
case /Android/.test(ua):
|
62 |
|
63 |
switch (true) {
|
64 |
case /CriOS/.test(ua):
|
65 |
+
return "Chrome for iOS";
|
66 |
case /Edge/.test(ua):
|
67 |
return "Edge";
|
68 |
case android && /Silk\//.test(ua):
|
69 |
+
return "Silk";
|
70 |
case /Chrome/.test(ua):
|
71 |
return "Chrome";
|
72 |
case /Firefox/.test(ua):
|
73 |
return "Firefox";
|
74 |
case android:
|
75 |
+
return "AOSP";
|
76 |
case /MSIE|Trident/.test(ua):
|
77 |
return "IE";
|
78 |
case /Safari\//.test(ua):
|
99 |
return _getVersion(ua, "Version/");
|
100 |
case "IE":
|
101 |
return /IEMobile/.test(ua) ? _getVersion(ua, "IEMobile/") :
|
102 |
+
/MSIE/.test(ua) ? _getVersion(ua, "MSIE ")
|
103 |
:
|
104 |
+
_getVersion(ua, "rv:");
|
105 |
case "Safari":
|
106 |
return _getVersion(ua, "Version/");
|
107 |
case "WebKit":
|
114 |
try {
|
115 |
return _normalizeSemverString(ua.split(token)[1].trim().split(/[^\w\.]/)[0]);
|
116 |
} catch (o_O) {
|
|
|
117 |
}
|
118 |
return "0.0.0";
|
119 |
}
|
132 |
case "iOSWebKit":
|
133 |
return _isWebView_iOS(options);
|
134 |
case "AndroidAOSP":
|
135 |
+
return false;
|
136 |
case "AndroidChrome":
|
137 |
return parseFloat(version) >= 42 ? /; wv/.test(ua) : /\d{2}\.0\.0/.test(version) ? true : _isWebView_Android(options);
|
138 |
}
|
139 |
return false;
|
140 |
}
|
141 |
|
142 |
+
function _isWebView_iOS(options) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
var document = (window["document"] || {});
|
144 |
|
145 |
if ("WEB_VIEW" in options) {
|
149 |
}
|
150 |
|
151 |
function _isWebView_Android(options) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
if ("WEB_VIEW" in options) {
|
153 |
return options["WEB_VIEW"];
|
154 |
}
|
languages/nextend-facebook-connect-es_LA.mo
ADDED
Binary file
|
languages/nextend-facebook-connect-es_LA.po
ADDED
@@ -0,0 +1,2118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: nextend-facebook-connect\n"
|
4 |
+
"POT-Creation-Date: 2018-05-08 15:04+0200\n"
|
5 |
+
"PO-Revision-Date: 2018-05-21 16:17-0500\n"
|
6 |
+
"Last-Translator: Gabriel Vilaró <gabo@etereo.ch>\n"
|
7 |
+
"Language-Team: nextend-facebook-connect\n"
|
8 |
+
"Language: es_419\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 2.0.6\n"
|
13 |
+
"X-Poedit-Basepath: ../..\n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
+
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
17 |
+
"_n_noop:1,2;_c;_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
|
18 |
+
"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;"
|
19 |
+
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_x:1,2c;esc_html_e\n"
|
20 |
+
"X-Poedit-Flags-xgettext: −−default-domain=nextend-facebook-connect\n"
|
21 |
+
"X-Poedit-SearchPath-0: nextend-social-login-pro\n"
|
22 |
+
"X-Poedit-SearchPath-1: nextend-facebook-connect\n"
|
23 |
+
|
24 |
+
#: nextend-facebook-connect/admin/admin.php:187
|
25 |
+
#, php-format
|
26 |
+
msgid "%s needs json_decode function."
|
27 |
+
msgstr "%s necesita la función json_decode."
|
28 |
+
|
29 |
+
#: nextend-facebook-connect/admin/admin.php:187
|
30 |
+
msgid "Please contact your server administrator and ask for solution!"
|
31 |
+
msgstr ""
|
32 |
+
"¡Por favor, ponte en contacto con el administrador de tu servidor y solicita "
|
33 |
+
"una solución!"
|
34 |
+
|
35 |
+
#: nextend-facebook-connect/admin/admin.php:214
|
36 |
+
#: nextend-facebook-connect/admin/admin.php:256
|
37 |
+
msgid "Settings saved."
|
38 |
+
msgstr "Ajustes guardados."
|
39 |
+
|
40 |
+
#: nextend-facebook-connect/admin/admin.php:223
|
41 |
+
msgid "The authorization was successful"
|
42 |
+
msgstr "La autorización fue exitosa"
|
43 |
+
|
44 |
+
#: nextend-facebook-connect/admin/admin.php:234
|
45 |
+
msgid "Deauthorize completed."
|
46 |
+
msgstr "Desautorizar completado."
|
47 |
+
|
48 |
+
#: nextend-facebook-connect/admin/admin.php:374
|
49 |
+
#: nextend-facebook-connect/admin/templates-provider/menu.php:15
|
50 |
+
#: nextend-facebook-connect/admin/templates/providers.php:84
|
51 |
+
#: nextend-facebook-connect/admin/templates/providers.php:96
|
52 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:30
|
53 |
+
msgid "Settings"
|
54 |
+
msgstr "Ajustes"
|
55 |
+
|
56 |
+
#: nextend-facebook-connect/admin/admin.php:448
|
57 |
+
#: nextend-facebook-connect/includes/oauth2.php:131
|
58 |
+
#: nextend-facebook-connect/includes/oauth2.php:273
|
59 |
+
#: nextend-facebook-connect/providers/facebook/facebook-client.php:70
|
60 |
+
#: nextend-facebook-connect/providers/twitter/twitter-client.php:155
|
61 |
+
#, php-format
|
62 |
+
msgid "Unexpected response: %s"
|
63 |
+
msgstr "Respuesta inesperada: %s"
|
64 |
+
|
65 |
+
#: nextend-facebook-connect/admin/admin.php:506
|
66 |
+
#: nextend-facebook-connect/admin/templates/fix-redirect-uri.php:21
|
67 |
+
#, php-format
|
68 |
+
msgid ""
|
69 |
+
"%s detected that your login url changed. You must update the Oauth redirect "
|
70 |
+
"URIs in the related social applications."
|
71 |
+
msgstr ""
|
72 |
+
"%s detectó que tu URL de inicio de sesión cambió. Debes actualizar los URI "
|
73 |
+
"de redireccionamiento de Oauth en las aplicaciones sociales relacionadas."
|
74 |
+
|
75 |
+
#: nextend-facebook-connect/admin/admin.php:507
|
76 |
+
msgid "Fix Error"
|
77 |
+
msgstr "Arreglar Error"
|
78 |
+
|
79 |
+
#: nextend-facebook-connect/admin/admin.php:507
|
80 |
+
msgid "Oauth Redirect URI"
|
81 |
+
msgstr "URI de redireccionamiento de Oauth"
|
82 |
+
|
83 |
+
#: nextend-facebook-connect/admin/admin.php:517
|
84 |
+
#, php-format
|
85 |
+
msgid ""
|
86 |
+
"%1$s detected that %2$s installed on your site. You need the Pro Addon to "
|
87 |
+
"display Social Login buttons in %2$s login form!"
|
88 |
+
msgstr ""
|
89 |
+
"%1$s detectó que %2$s está instalado en tu sitio. ¡Necesitas el Pro Addon "
|
90 |
+
"para mostrar los botones de Social Login en el formulario de acceso de %2$s!"
|
91 |
+
|
92 |
+
#: nextend-facebook-connect/admin/admin.php:518
|
93 |
+
msgid "Dismiss and check Pro Addon"
|
94 |
+
msgstr "Descartar y verificar Pro Addon"
|
95 |
+
|
96 |
+
#: nextend-facebook-connect/admin/admin.php:518
|
97 |
+
msgid "Dismiss"
|
98 |
+
msgstr "Descartar"
|
99 |
+
|
100 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:74
|
101 |
+
msgid "Login label"
|
102 |
+
msgstr "Etiqueta de acceso"
|
103 |
+
|
104 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:79
|
105 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:90
|
106 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:101
|
107 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:130
|
108 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:160
|
109 |
+
msgid "Reset to default"
|
110 |
+
msgstr "Restablecer los valores predeterminados"
|
111 |
+
|
112 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:84
|
113 |
+
msgid "Link label"
|
114 |
+
msgstr "Etiqueta de enlace"
|
115 |
+
|
116 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:96
|
117 |
+
msgid "Unlink label"
|
118 |
+
msgstr "Etiqueta de desenlazar"
|
119 |
+
|
120 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:107
|
121 |
+
msgid "Default button"
|
122 |
+
msgstr "Botón predeterminado"
|
123 |
+
|
124 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:123
|
125 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:153
|
126 |
+
msgid "Use custom button"
|
127 |
+
msgstr "Usa botón personalizado"
|
128 |
+
|
129 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:130
|
130 |
+
#, php-format
|
131 |
+
msgid "Use the %s in your custom button's code to make the label show up."
|
132 |
+
msgstr ""
|
133 |
+
"Use el %s en el código de tu botón personalizado para que aparezca la "
|
134 |
+
"etiqueta."
|
135 |
+
|
136 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:138
|
137 |
+
msgid "Icon button"
|
138 |
+
msgstr "Botón de icono"
|
139 |
+
|
140 |
+
#: nextend-facebook-connect/admin/templates-provider/buttons.php:169
|
141 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:140
|
142 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:90
|
143 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:65
|
144 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:56
|
145 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:7
|
146 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:81
|
147 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:7
|
148 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:136
|
149 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:86
|
150 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:149
|
151 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:125
|
152 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:55
|
153 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:49
|
154 |
+
#: nextend-facebook-connect/providers/twitter/admin/settings.php:48
|
155 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:47
|
156 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:47
|
157 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:47
|
158 |
+
msgid "Save Changes"
|
159 |
+
msgstr "Guardar Cambios"
|
160 |
+
|
161 |
+
#: nextend-facebook-connect/admin/templates-provider/menu.php:13
|
162 |
+
#: nextend-facebook-connect/admin/templates/providers.php:64
|
163 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:9
|
164 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:9
|
165 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:8
|
166 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:8
|
167 |
+
msgid "Getting Started"
|
168 |
+
msgstr "Empezando"
|
169 |
+
|
170 |
+
#: nextend-facebook-connect/admin/templates-provider/menu.php:17
|
171 |
+
msgid "Buttons"
|
172 |
+
msgstr "Botones"
|
173 |
+
|
174 |
+
#: nextend-facebook-connect/admin/templates-provider/menu.php:21
|
175 |
+
msgid "Sync data"
|
176 |
+
msgstr "Sincronizar datos"
|
177 |
+
|
178 |
+
#: nextend-facebook-connect/admin/templates-provider/menu.php:24
|
179 |
+
msgid "Usage"
|
180 |
+
msgstr "Uso"
|
181 |
+
|
182 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-other.php:11
|
183 |
+
msgid "Other settings"
|
184 |
+
msgstr "Otros ajustes"
|
185 |
+
|
186 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-other.php:16
|
187 |
+
msgid "Username prefix on register"
|
188 |
+
msgstr "Prefijo del usuario cuando se registra"
|
189 |
+
|
190 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-other.php:22
|
191 |
+
msgid "Fallback username prefix on register"
|
192 |
+
msgstr "Prefijo del usuario de reservo cuando se registra"
|
193 |
+
|
194 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-other.php:25
|
195 |
+
msgid "Used when username is invalid"
|
196 |
+
msgstr "Usado cuando el nombre del usuario no es válido"
|
197 |
+
|
198 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:18
|
199 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:10
|
200 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:10
|
201 |
+
msgid "PRO settings"
|
202 |
+
msgstr "Ajustes PRO"
|
203 |
+
|
204 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:28
|
205 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:32
|
206 |
+
msgid "Ask E-mail on registration"
|
207 |
+
msgstr "Preguntar E-mail durante el registro"
|
208 |
+
|
209 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:35
|
210 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:69
|
211 |
+
msgid "Never"
|
212 |
+
msgstr "Nunca"
|
213 |
+
|
214 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:38
|
215 |
+
msgid "When email is not provided or empty"
|
216 |
+
msgstr "Cuando el email no se proporciona o está vacío"
|
217 |
+
|
218 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:41
|
219 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:59
|
220 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:72
|
221 |
+
msgid "Always"
|
222 |
+
msgstr "Siempre"
|
223 |
+
|
224 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:46
|
225 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:50
|
226 |
+
msgid "Ask Username on registration"
|
227 |
+
msgstr "Preguntar Usuario durante el registro"
|
228 |
+
|
229 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:53
|
230 |
+
msgid "Never, generate automatically"
|
231 |
+
msgstr "Nunca, generar automáticamente"
|
232 |
+
|
233 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:56
|
234 |
+
msgid "When username is empty or invalid"
|
235 |
+
msgstr "Cuando el usuario está vacío o no es válido"
|
236 |
+
|
237 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:64
|
238 |
+
msgid "Ask Password on registration"
|
239 |
+
msgstr "Preguntar Contraseña al registrarse"
|
240 |
+
|
241 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:77
|
242 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:81
|
243 |
+
msgid "Automatically connect the existing account upon registration"
|
244 |
+
msgstr "Conectar automáticamente la cuenta existente al registrarse"
|
245 |
+
|
246 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:85
|
247 |
+
#: nextend-facebook-connect/admin/templates/providers.php:39
|
248 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:55
|
249 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:69
|
250 |
+
#: nextend-facebook-connect/includes/provider-admin.php:207
|
251 |
+
msgid "Disabled"
|
252 |
+
msgstr "Desactivado"
|
253 |
+
|
254 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:88
|
255 |
+
msgid "Automatic, based on email address"
|
256 |
+
msgstr "Automático, basado en la dirección de email"
|
257 |
+
|
258 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:93
|
259 |
+
msgid "Disable login for the selected roles"
|
260 |
+
msgstr "Deshabilitar inicio de sesión para los roles seleccionados"
|
261 |
+
|
262 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:113
|
263 |
+
msgid "Default roles for user who registered with this provider"
|
264 |
+
msgstr ""
|
265 |
+
"Roles predeterminados para el usuario que se registró con este proveedor"
|
266 |
+
|
267 |
+
#: nextend-facebook-connect/admin/templates-provider/settings-pro.php:121
|
268 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:49
|
269 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:40
|
270 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:33
|
271 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:89
|
272 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:24
|
273 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:51
|
274 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:102
|
275 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:109
|
276 |
+
#: nextend-facebook-connect/widget.php:40
|
277 |
+
msgid "Default"
|
278 |
+
msgstr "Predeterminado"
|
279 |
+
|
280 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:39
|
281 |
+
#: nextend-social-login-pro/class-provider-extension.php:409
|
282 |
+
msgid "Register"
|
283 |
+
msgstr "Registrarse"
|
284 |
+
|
285 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:47
|
286 |
+
msgid "Login"
|
287 |
+
msgstr "Iniciar Sesión"
|
288 |
+
|
289 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:55
|
290 |
+
msgid "Link"
|
291 |
+
msgstr "Enlace"
|
292 |
+
|
293 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:73
|
294 |
+
msgid "Store in meta key"
|
295 |
+
msgstr "Guardar en clave meta"
|
296 |
+
|
297 |
+
#: nextend-facebook-connect/admin/templates-provider/sync-data.php:80
|
298 |
+
#, php-format
|
299 |
+
msgid "Required scope: %1$s"
|
300 |
+
msgstr "Alcance requerido: %1$s"
|
301 |
+
|
302 |
+
#: nextend-facebook-connect/admin/templates-provider/usage.php:9
|
303 |
+
msgid "Shortcode"
|
304 |
+
msgstr "Código corto"
|
305 |
+
|
306 |
+
#: nextend-facebook-connect/admin/templates-provider/usage.php:25
|
307 |
+
msgid "Simple link"
|
308 |
+
msgstr "Enlace simple"
|
309 |
+
|
310 |
+
#: nextend-facebook-connect/admin/templates-provider/usage.php:28
|
311 |
+
msgid "Click here to login or register"
|
312 |
+
msgstr "Haz clic aquí para iniciar sesión o registrarse"
|
313 |
+
|
314 |
+
#: nextend-facebook-connect/admin/templates-provider/usage.php:33
|
315 |
+
msgid "Image button"
|
316 |
+
msgstr "Botón de imagen"
|
317 |
+
|
318 |
+
#: nextend-facebook-connect/admin/templates-provider/usage.php:36
|
319 |
+
msgid "Image url"
|
320 |
+
msgstr "URL de imagen"
|
321 |
+
|
322 |
+
#: nextend-facebook-connect/admin/templates/fix-redirect-uri.php:2
|
323 |
+
msgid "Fix Oauth Redirect URIs"
|
324 |
+
msgstr "Arregla los URI de redireccionamiento de Oauth"
|
325 |
+
|
326 |
+
#: nextend-facebook-connect/admin/templates/fix-redirect-uri.php:13
|
327 |
+
msgid "Every Oauth Redirect URI seems fine"
|
328 |
+
msgstr "Cada URI de redireccionamiento de Oauth está bien"
|
329 |
+
|
330 |
+
#: nextend-facebook-connect/admin/templates/fix-redirect-uri.php:32
|
331 |
+
msgid "Got it"
|
332 |
+
msgstr "Entiendo"
|
333 |
+
|
334 |
+
#: nextend-facebook-connect/admin/templates/global-settings.php:26
|
335 |
+
#: nextend-facebook-connect/admin/templates/menu.php:8
|
336 |
+
msgid "Global Settings"
|
337 |
+
msgstr "Ajustes Globales"
|
338 |
+
|
339 |
+
#: nextend-facebook-connect/admin/templates/global-settings.php:29
|
340 |
+
msgid "General"
|
341 |
+
msgstr "General"
|
342 |
+
|
343 |
+
#: nextend-facebook-connect/admin/templates/global-settings.php:31
|
344 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:9
|
345 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:18
|
346 |
+
msgid "Login Form"
|
347 |
+
msgstr "Formulario de Acceso"
|
348 |
+
|
349 |
+
#: nextend-facebook-connect/admin/templates/global-settings.php:35
|
350 |
+
msgid "Comment"
|
351 |
+
msgstr "Comentario"
|
352 |
+
|
353 |
+
#: nextend-facebook-connect/admin/templates/header.php:14
|
354 |
+
msgid "Docs"
|
355 |
+
msgstr "Documentos"
|
356 |
+
|
357 |
+
#: nextend-facebook-connect/admin/templates/header.php:17
|
358 |
+
msgid "Support"
|
359 |
+
msgstr "Apoyo"
|
360 |
+
|
361 |
+
#: nextend-facebook-connect/admin/templates/header.php:20
|
362 |
+
#: nextend-facebook-connect/admin/templates/menu.php:12
|
363 |
+
msgid "Pro Addon"
|
364 |
+
msgstr "Pro Addon"
|
365 |
+
|
366 |
+
#: nextend-facebook-connect/admin/templates/menu.php:6
|
367 |
+
msgid "Providers"
|
368 |
+
msgstr "Proveedores"
|
369 |
+
|
370 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:13
|
371 |
+
msgid "Error"
|
372 |
+
msgstr "Error"
|
373 |
+
|
374 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:14
|
375 |
+
msgid ""
|
376 |
+
"You don’t have sufficient permissions to install and activate plugins. "
|
377 |
+
"Please contact your site’s administrator!"
|
378 |
+
msgstr ""
|
379 |
+
"No tienes suficientes permisos para instalar y activar plugins. ¡Por favor, "
|
380 |
+
"ponte en contacto con el administrador de tu sitio!"
|
381 |
+
|
382 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:22
|
383 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:32
|
384 |
+
#: nextend-facebook-connect/admin/templates/pro.php:34
|
385 |
+
msgid "Activate Pro Addon"
|
386 |
+
msgstr "Activar Pro Addon"
|
387 |
+
|
388 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:23
|
389 |
+
msgid ""
|
390 |
+
"Pro Addon is installed but not activated. To be able to use the Pro "
|
391 |
+
"features, you need to activate it."
|
392 |
+
msgstr ""
|
393 |
+
"Pro Addon está instalado pero no activado. Para poder usar las funciones "
|
394 |
+
"Pro, debes activarlo."
|
395 |
+
|
396 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:37
|
397 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:215
|
398 |
+
msgid "Deauthorize Pro Addon"
|
399 |
+
msgstr "Desautorizar Pro Addon"
|
400 |
+
|
401 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:48
|
402 |
+
#: nextend-facebook-connect/admin/templates/pro.php:43
|
403 |
+
msgid "Pro Addon is not installed"
|
404 |
+
msgstr "Pro Addon no está instalado"
|
405 |
+
|
406 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:50
|
407 |
+
msgid ""
|
408 |
+
"To access the Pro features, you need to install and activate the Pro Addon."
|
409 |
+
msgstr ""
|
410 |
+
"Para acceder a las funciones Pro, tienes que instalar y activar el Pro Addon."
|
411 |
+
|
412 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:59
|
413 |
+
#, php-format
|
414 |
+
msgid "Install %s now"
|
415 |
+
msgstr "Instalar %s ahora"
|
416 |
+
|
417 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:60
|
418 |
+
#: nextend-facebook-connect/admin/templates/pro.php:47
|
419 |
+
msgid "Install Pro Addon"
|
420 |
+
msgstr "Instalar Pro Addon"
|
421 |
+
|
422 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:94
|
423 |
+
msgid "Activating..."
|
424 |
+
msgstr "Activando..."
|
425 |
+
|
426 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:126
|
427 |
+
msgid "Authorize your Pro Addon"
|
428 |
+
msgstr "Autoriza tu Pro Addon"
|
429 |
+
|
430 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:127
|
431 |
+
msgid ""
|
432 |
+
"To be able to use the Pro features, you need to authorize Nextend Social "
|
433 |
+
"Connect Pro Addon. You can do this by clicking on the Authorize button below "
|
434 |
+
"then select the related purchase."
|
435 |
+
msgstr ""
|
436 |
+
"Para poder usar las funciones Pro, debes autorizar Nextend Social Connect "
|
437 |
+
"Pro Addon. Puedes hacer esto haciendo clic en el botón Autorizar a "
|
438 |
+
"continuación y luego seleccionar la compra relacionada."
|
439 |
+
|
440 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:132
|
441 |
+
msgid "Authorize"
|
442 |
+
msgstr "Autorizar"
|
443 |
+
|
444 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:189
|
445 |
+
msgid "License key"
|
446 |
+
msgstr "Clave de licencia"
|
447 |
+
|
448 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:206
|
449 |
+
msgid "Pro Addon is installed and activated"
|
450 |
+
msgstr "Pro Addon está instalado y activado"
|
451 |
+
|
452 |
+
#: nextend-facebook-connect/admin/templates/pro-addon.php:208
|
453 |
+
msgid ""
|
454 |
+
"You installed and activated the Pro Addon. If you don’t want to use it "
|
455 |
+
"anymore, you can deauthorize using the button below."
|
456 |
+
msgstr ""
|
457 |
+
"Instalaste y activaste el Pro Addon. Si no deseas volver a utilizarlo, "
|
458 |
+
"puedes eliminar la autorización utilizando el siguiente botón."
|
459 |
+
|
460 |
+
#: nextend-facebook-connect/admin/templates/pro.php:8
|
461 |
+
msgid "Get Pro Addon to unlock more features"
|
462 |
+
msgstr "Compra Pro Addon para desbloquear más funciones"
|
463 |
+
|
464 |
+
#: nextend-facebook-connect/admin/templates/pro.php:9
|
465 |
+
#, php-format
|
466 |
+
msgid ""
|
467 |
+
"The features below are available in %s Pro Addon. Get it today and tweak the "
|
468 |
+
"awesome settings."
|
469 |
+
msgstr ""
|
470 |
+
"Las siguientes funciones están disponibles en %s Pro Addon. Compralo hoy y "
|
471 |
+
"modifica unas configuraciones increíbles."
|
472 |
+
|
473 |
+
#: nextend-facebook-connect/admin/templates/pro.php:10
|
474 |
+
msgid ""
|
475 |
+
"If you already have a license, you can Authorize your Pro Addon. Otherwise "
|
476 |
+
"you can purchase it using the button below."
|
477 |
+
msgstr ""
|
478 |
+
"Si ya tienes una licencia, puedes Autorizar tu Pro Addon. De lo contrario, "
|
479 |
+
"puedes comprarlo usando el botón de abajo."
|
480 |
+
|
481 |
+
#: nextend-facebook-connect/admin/templates/pro.php:14
|
482 |
+
msgid "Buy Pro Addon"
|
483 |
+
msgstr "Compra Pro Addon"
|
484 |
+
|
485 |
+
#: nextend-facebook-connect/admin/templates/pro.php:16
|
486 |
+
msgid "Authorize Pro Addon"
|
487 |
+
msgstr "Autoriza Pro Addon"
|
488 |
+
|
489 |
+
#: nextend-facebook-connect/admin/templates/pro.php:25
|
490 |
+
msgid "Pro Addon is not activated"
|
491 |
+
msgstr "Pro Addon no está activado"
|
492 |
+
|
493 |
+
#: nextend-facebook-connect/admin/templates/pro.php:26
|
494 |
+
#: nextend-facebook-connect/admin/templates/pro.php:44
|
495 |
+
msgid ""
|
496 |
+
"To be able to use the Pro features, you need to install and activate the "
|
497 |
+
"Nextend Social Connect Pro Addon."
|
498 |
+
msgstr ""
|
499 |
+
"Para poder utilizar las funciones Pro, debes instalar y activar el Nextend "
|
500 |
+
"Social Connect Pro Addon."
|
501 |
+
|
502 |
+
#: nextend-facebook-connect/admin/templates/providers.php:30
|
503 |
+
msgid "Not Available"
|
504 |
+
msgstr "No Disponible"
|
505 |
+
|
506 |
+
#: nextend-facebook-connect/admin/templates/providers.php:33
|
507 |
+
msgid "Not Configured"
|
508 |
+
msgstr "No Configurado"
|
509 |
+
|
510 |
+
#: nextend-facebook-connect/admin/templates/providers.php:36
|
511 |
+
msgid "Not Verified"
|
512 |
+
msgstr "No Verificado"
|
513 |
+
|
514 |
+
#: nextend-facebook-connect/admin/templates/providers.php:42
|
515 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:58
|
516 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:72
|
517 |
+
#: nextend-facebook-connect/includes/provider-admin.php:210
|
518 |
+
msgid "Enabled"
|
519 |
+
msgstr "Habilitado"
|
520 |
+
|
521 |
+
#: nextend-facebook-connect/admin/templates/providers.php:45
|
522 |
+
msgid "Legacy"
|
523 |
+
msgstr "Legacy"
|
524 |
+
|
525 |
+
#: nextend-facebook-connect/admin/templates/providers.php:57
|
526 |
+
msgid "Upgrade Now"
|
527 |
+
msgstr "Actualizar Ahora"
|
528 |
+
|
529 |
+
#: nextend-facebook-connect/admin/templates/providers.php:72
|
530 |
+
#: nextend-facebook-connect/includes/provider-admin.php:194
|
531 |
+
msgid "Verify Settings"
|
532 |
+
msgstr "Verificar Configuración"
|
533 |
+
|
534 |
+
#: nextend-facebook-connect/admin/templates/providers.php:80
|
535 |
+
#: nextend-facebook-connect/includes/provider-admin.php:239
|
536 |
+
msgid "Enable"
|
537 |
+
msgstr "Habilitar"
|
538 |
+
|
539 |
+
#: nextend-facebook-connect/admin/templates/providers.php:92
|
540 |
+
#: nextend-facebook-connect/includes/provider-admin.php:247
|
541 |
+
msgid "Disable"
|
542 |
+
msgstr "Inhabilitar"
|
543 |
+
|
544 |
+
#: nextend-facebook-connect/admin/templates/providers.php:103
|
545 |
+
msgid "Import"
|
546 |
+
msgstr "Importar"
|
547 |
+
|
548 |
+
#: nextend-facebook-connect/admin/templates/providers.php:122
|
549 |
+
msgid "Saving..."
|
550 |
+
msgstr "Guardando..."
|
551 |
+
|
552 |
+
#: nextend-facebook-connect/admin/templates/providers.php:123
|
553 |
+
msgid "Saving failed"
|
554 |
+
msgstr "No se pudo guardar"
|
555 |
+
|
556 |
+
#: nextend-facebook-connect/admin/templates/providers.php:124
|
557 |
+
msgid "Order Saved"
|
558 |
+
msgstr "Orden Guardado"
|
559 |
+
|
560 |
+
#: nextend-facebook-connect/admin/templates/review.php:14
|
561 |
+
msgid "Rate your experience!"
|
562 |
+
msgstr "¡Califica tu experiencia!"
|
563 |
+
|
564 |
+
#: nextend-facebook-connect/admin/templates/review.php:15
|
565 |
+
msgid "Hated it"
|
566 |
+
msgstr "Lo odié"
|
567 |
+
|
568 |
+
#: nextend-facebook-connect/admin/templates/review.php:16
|
569 |
+
msgid "Disliked it"
|
570 |
+
msgstr "No me gustó"
|
571 |
+
|
572 |
+
#: nextend-facebook-connect/admin/templates/review.php:17
|
573 |
+
msgid "It was ok"
|
574 |
+
msgstr "Estuvo bien"
|
575 |
+
|
576 |
+
#: nextend-facebook-connect/admin/templates/review.php:18
|
577 |
+
msgid "Liked it"
|
578 |
+
msgstr "Me gustó"
|
579 |
+
|
580 |
+
#: nextend-facebook-connect/admin/templates/review.php:19
|
581 |
+
msgid "Loved it"
|
582 |
+
msgstr "Me encantó"
|
583 |
+
|
584 |
+
#: nextend-facebook-connect/admin/templates/review.php:31
|
585 |
+
msgid "Please Leave a Review"
|
586 |
+
msgstr "Por Favor Deja una Evaluación"
|
587 |
+
|
588 |
+
#: nextend-facebook-connect/admin/templates/review.php:32
|
589 |
+
msgid ""
|
590 |
+
"If you are happy with <b>Nextend Social Login</b> and can take a minute "
|
591 |
+
"please leave us a review. It will be a tremendous help for us!"
|
592 |
+
msgstr ""
|
593 |
+
"Si estás satisfecho con <b>Nextend Social Login</b> y tienes un minuto, por "
|
594 |
+
"favor déjanos una evaluación. ¡Será una gran ayuda para nosotros!"
|
595 |
+
|
596 |
+
#: nextend-facebook-connect/admin/templates/review.php:34
|
597 |
+
msgid "Ok, you deserve it"
|
598 |
+
msgstr "Ok, lo mereces"
|
599 |
+
|
600 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:18
|
601 |
+
msgid "BuddyPress register form"
|
602 |
+
msgstr "Formulario de registro para BuddyPress"
|
603 |
+
|
604 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:23
|
605 |
+
msgid "No Connect button"
|
606 |
+
msgstr "Botón de No Conexión"
|
607 |
+
|
608 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:26
|
609 |
+
msgid "Connect button before register"
|
610 |
+
msgstr "Conectar botón antes de registrarse"
|
611 |
+
|
612 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:27
|
613 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:32
|
614 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:37
|
615 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:77
|
616 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:27
|
617 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:32
|
618 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:48
|
619 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:53
|
620 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:71
|
621 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:76
|
622 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:90
|
623 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:95
|
624 |
+
msgid "Action:"
|
625 |
+
msgstr "Acción:"
|
626 |
+
|
627 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:31
|
628 |
+
msgid "Connect button before account details"
|
629 |
+
msgstr "Conectar botón antes de los detalles de cuenta"
|
630 |
+
|
631 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:36
|
632 |
+
msgid "Connect button after register"
|
633 |
+
msgstr "Conectar botón después de registrarse"
|
634 |
+
|
635 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:43
|
636 |
+
msgid "BuddyPress register button style"
|
637 |
+
msgstr "Estilo del botón de registro BuddyPress"
|
638 |
+
|
639 |
+
#: nextend-facebook-connect/admin/templates/settings/buddypress.php:55
|
640 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:46
|
641 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:39
|
642 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:95
|
643 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:30
|
644 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:57
|
645 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:108
|
646 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:115
|
647 |
+
#: nextend-facebook-connect/widget.php:45
|
648 |
+
msgid "Icon"
|
649 |
+
msgstr "Icono"
|
650 |
+
|
651 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:18
|
652 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:22
|
653 |
+
msgid "Comment login button"
|
654 |
+
msgstr "Botón para iniciar sesión para comentar"
|
655 |
+
|
656 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:25
|
657 |
+
msgid "Show"
|
658 |
+
msgstr "Mostrar"
|
659 |
+
|
660 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:28
|
661 |
+
msgid "Hide"
|
662 |
+
msgstr "Esconder"
|
663 |
+
|
664 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:30
|
665 |
+
#, php-format
|
666 |
+
msgid "You need to turn on the ' %1$s > %2$s > %3$s ' for this feature to work"
|
667 |
+
msgstr "Necesitas activar el ' %1$s > %2$s > %3$s ' para que funcione"
|
668 |
+
|
669 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:30
|
670 |
+
msgid "Discussion"
|
671 |
+
msgstr "Discusión"
|
672 |
+
|
673 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:30
|
674 |
+
msgid "Users must be registered and logged in to comment"
|
675 |
+
msgstr "Los usuarios deben estar registrados e iniciar sesión para comentar"
|
676 |
+
|
677 |
+
#: nextend-facebook-connect/admin/templates/settings/comment.php:34
|
678 |
+
msgid "Comment button style"
|
679 |
+
msgstr "Estilo de botón para comentar"
|
680 |
+
|
681 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:27
|
682 |
+
msgid "Target window"
|
683 |
+
msgstr "Ventana de destino"
|
684 |
+
|
685 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:32
|
686 |
+
msgid "Prefer popup"
|
687 |
+
msgstr "Preferir emergente"
|
688 |
+
|
689 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:35
|
690 |
+
msgid "Prefer new tab"
|
691 |
+
msgstr "Preferir nueva pestaña"
|
692 |
+
|
693 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:38
|
694 |
+
msgid "Prefer same window"
|
695 |
+
msgstr "Preferir nueva ventana"
|
696 |
+
|
697 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:43
|
698 |
+
msgid "Membership"
|
699 |
+
msgstr "Membresía"
|
700 |
+
|
701 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:49
|
702 |
+
msgid "Allow registration with Social login"
|
703 |
+
msgstr "Permitir registro con Social login"
|
704 |
+
|
705 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:54
|
706 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:58
|
707 |
+
msgid "Registration notification sent to"
|
708 |
+
msgstr "Notificación de registro enviado a"
|
709 |
+
|
710 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:61
|
711 |
+
msgid "WordPress default"
|
712 |
+
msgstr "Configuración predeterminada de Wordpress"
|
713 |
+
|
714 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:64
|
715 |
+
msgid "Nobody"
|
716 |
+
msgstr "Nadie"
|
717 |
+
|
718 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:67
|
719 |
+
msgid "User"
|
720 |
+
msgstr "Usario"
|
721 |
+
|
722 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:70
|
723 |
+
msgid "Admin"
|
724 |
+
msgstr "Administrador"
|
725 |
+
|
726 |
+
#: nextend-facebook-connect/admin/templates/settings/general-pro.php:73
|
727 |
+
msgid "User and Admin"
|
728 |
+
msgstr "Usuario y Administrador"
|
729 |
+
|
730 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:48
|
731 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:52
|
732 |
+
msgid "Debug mode"
|
733 |
+
msgstr "Modo de depuración"
|
734 |
+
|
735 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:64
|
736 |
+
msgid "Store Avatar"
|
737 |
+
msgstr "Avatar de Tienda"
|
738 |
+
|
739 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:79
|
740 |
+
msgid "Default redirect url"
|
741 |
+
msgstr "URL de redirección predeterminada"
|
742 |
+
|
743 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:92
|
744 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:130
|
745 |
+
msgid "for Login"
|
746 |
+
msgstr "para Iniciar Sesión"
|
747 |
+
|
748 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:107
|
749 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:145
|
750 |
+
msgid "for Register"
|
751 |
+
msgstr "para Registrarse"
|
752 |
+
|
753 |
+
#: nextend-facebook-connect/admin/templates/settings/general.php:117
|
754 |
+
msgid "Fixed redirect url"
|
755 |
+
msgstr "URL de redirección fija"
|
756 |
+
|
757 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:27
|
758 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:18
|
759 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:45
|
760 |
+
msgid "Login form button style"
|
761 |
+
msgstr "Estilo de botón para iniciar sesión"
|
762 |
+
|
763 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:46
|
764 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:37
|
765 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:64
|
766 |
+
msgid "Login layout"
|
767 |
+
msgstr "Diseño de Inicio de Sesión"
|
768 |
+
|
769 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:52
|
770 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:108
|
771 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:43
|
772 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:70
|
773 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:121
|
774 |
+
msgid "Below"
|
775 |
+
msgstr "Abajo"
|
776 |
+
|
777 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:58
|
778 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:114
|
779 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:49
|
780 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:76
|
781 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:127
|
782 |
+
msgid "Below with separator"
|
783 |
+
msgstr "Abajo con separación"
|
784 |
+
|
785 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:64
|
786 |
+
msgid "Below and floating"
|
787 |
+
msgstr "Abajo y flotando"
|
788 |
+
|
789 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:70
|
790 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:120
|
791 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:55
|
792 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:82
|
793 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:133
|
794 |
+
msgid "Above"
|
795 |
+
msgstr "Encima"
|
796 |
+
|
797 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:76
|
798 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:126
|
799 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:61
|
800 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:88
|
801 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:139
|
802 |
+
msgid "Above with separator"
|
803 |
+
msgstr "Encima con separación"
|
804 |
+
|
805 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:83
|
806 |
+
msgid "Embedded Login form button style"
|
807 |
+
msgstr "Estilo de botón de formulario de inicio de sesión integrado"
|
808 |
+
|
809 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form-pro.php:102
|
810 |
+
msgid "Embedded Login layout"
|
811 |
+
msgstr "Diseño de Inicio de Sesión integrado"
|
812 |
+
|
813 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:14
|
814 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:27
|
815 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:44
|
816 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:23
|
817 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:36
|
818 |
+
#: nextend-facebook-connect/widget.php:55
|
819 |
+
msgid "Show login buttons"
|
820 |
+
msgstr "Mostrar botones de iniciar sesión"
|
821 |
+
|
822 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:17
|
823 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:30
|
824 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:47
|
825 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:26
|
826 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:39
|
827 |
+
msgid "Hide login buttons"
|
828 |
+
msgstr "Esconder botones de iniciar sesión"
|
829 |
+
|
830 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:22
|
831 |
+
#: nextend-social-login-pro/class-provider-extension.php:328
|
832 |
+
msgid "Registration Form"
|
833 |
+
msgstr "Formulario de Registro"
|
834 |
+
|
835 |
+
#: nextend-facebook-connect/admin/templates/settings/login-form.php:36
|
836 |
+
msgid "Embedded login form"
|
837 |
+
msgstr "Formulario de Inicio de Sesión integrado"
|
838 |
+
|
839 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:68
|
840 |
+
msgid "MemberPress account details"
|
841 |
+
msgstr "Detalles de cuenta MemberPress"
|
842 |
+
|
843 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:73
|
844 |
+
msgid "No link buttons"
|
845 |
+
msgstr "Sin botones de enlace"
|
846 |
+
|
847 |
+
#: nextend-facebook-connect/admin/templates/settings/memberpress.php:76
|
848 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:94
|
849 |
+
msgid "Link buttons after account details"
|
850 |
+
msgstr "Enlazar botones de enlace después de los detalles de la cuenta"
|
851 |
+
|
852 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:31
|
853 |
+
msgid "Register Form"
|
854 |
+
msgstr "Formulario de Registro"
|
855 |
+
|
856 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:96
|
857 |
+
msgid "Register form button style"
|
858 |
+
msgstr "Estilo de botón de formulario de Registro integrado"
|
859 |
+
|
860 |
+
#: nextend-facebook-connect/admin/templates/settings/userpro.php:115
|
861 |
+
msgid "Register layout"
|
862 |
+
msgstr "Diseño de Registro"
|
863 |
+
|
864 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:18
|
865 |
+
msgid "WooCommerce login form"
|
866 |
+
msgstr "Formulario de iniciar sesión WooCommerce"
|
867 |
+
|
868 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:23
|
869 |
+
msgid "No Connect button in login form"
|
870 |
+
msgstr "Sin botón de conexión en el formulario de inicio de sesión"
|
871 |
+
|
872 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:26
|
873 |
+
msgid "Connect button before login form"
|
874 |
+
msgstr "Conectar botón antes del formulario inicio de sesión"
|
875 |
+
|
876 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:31
|
877 |
+
msgid "Connect button after login form"
|
878 |
+
msgstr "Conectar botón después del formulario inicio de sesión"
|
879 |
+
|
880 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:39
|
881 |
+
msgid "WooCommerce register form"
|
882 |
+
msgstr "Formulario de registro WooCommerce"
|
883 |
+
|
884 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:44
|
885 |
+
msgid "No Connect button in register form"
|
886 |
+
msgstr "Sin botón de conexión en el formulario de registro"
|
887 |
+
|
888 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:47
|
889 |
+
msgid "Connect button before register form"
|
890 |
+
msgstr "Conectar botón antes del formulario registro"
|
891 |
+
|
892 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:52
|
893 |
+
msgid "Connect button after register form"
|
894 |
+
msgstr "Conectar botón después del formulario registro"
|
895 |
+
|
896 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:60
|
897 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:64
|
898 |
+
msgid "WooCommerce billing form"
|
899 |
+
msgstr "Formulario de facturación de WooCommerce"
|
900 |
+
|
901 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:67
|
902 |
+
msgid "No Connect button in billing form"
|
903 |
+
msgstr "Sin botón de conexión en el formulario de facturación"
|
904 |
+
|
905 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:70
|
906 |
+
msgid "Connect button before billing form"
|
907 |
+
msgstr "Conectar botón antes del formulario de facturación"
|
908 |
+
|
909 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:75
|
910 |
+
msgid "Connect button after billing form"
|
911 |
+
msgstr "Conectar botón después del formulario de facturación"
|
912 |
+
|
913 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:82
|
914 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:86
|
915 |
+
msgid "WooCommerce account details"
|
916 |
+
msgstr "Detalles de cuenta WooCommerce"
|
917 |
+
|
918 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:89
|
919 |
+
msgid "Link buttons before account details"
|
920 |
+
msgstr "Enlazar botones antes de detalles de la cuenta"
|
921 |
+
|
922 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:101
|
923 |
+
#: nextend-facebook-connect/admin/templates/settings/woocommerce.php:105
|
924 |
+
msgid "WooCommerce button style"
|
925 |
+
msgstr "Estilo de botón WooCommerce"
|
926 |
+
|
927 |
+
#: nextend-facebook-connect/includes/avatar.php:45
|
928 |
+
msgid "Avatar"
|
929 |
+
msgstr "Avatar"
|
930 |
+
|
931 |
+
#: nextend-facebook-connect/includes/avatar.php:46
|
932 |
+
msgid "Manage Avatar"
|
933 |
+
msgstr "Administrar Avatar"
|
934 |
+
|
935 |
+
#: nextend-facebook-connect/includes/avatar.php:47
|
936 |
+
#, php-format
|
937 |
+
msgid "Avatar <span class=\"count\">(%s)</span>"
|
938 |
+
msgid_plural "Avatar <span class=\"count\">(%s)</span>"
|
939 |
+
msgstr[0] "Avatar <span class=\"count\">(%s)</span>"
|
940 |
+
msgstr[1] "Avatar <span class=\"count\">(%s)</span>"
|
941 |
+
|
942 |
+
#: nextend-facebook-connect/includes/provider-admin.php:188
|
943 |
+
msgid "Your configuration needs to be verified"
|
944 |
+
msgstr "Tu configuración debe ser verificada"
|
945 |
+
|
946 |
+
#: nextend-facebook-connect/includes/provider-admin.php:189
|
947 |
+
msgid ""
|
948 |
+
"Before you can start letting your users register with your app it needs to "
|
949 |
+
"be tested. This test makes sure that no users will have troubles with the "
|
950 |
+
"login and registration process. <br> If you see error message in the popup "
|
951 |
+
"check the copied ID and secret or the app itself. Otherwise your settings "
|
952 |
+
"are fine."
|
953 |
+
msgstr ""
|
954 |
+
"Antes de que puedas comenzar a permitir que tus usuarios se registren con tu "
|
955 |
+
"aplicación, debe ser probada. Esta prueba asegura que ningún usuario tenga "
|
956 |
+
"problemas con el proceso de inicio de sesión y registro. <br> Si ves un "
|
957 |
+
"mensaje de error en el menú emergente, verifica la ID copiada y el secreto o "
|
958 |
+
"la aplicación. De lo contrario, tu configuración está bien."
|
959 |
+
|
960 |
+
#: nextend-facebook-connect/includes/provider-admin.php:195
|
961 |
+
msgid "Please save your changes to verify settings."
|
962 |
+
msgstr "Guarda los cambios para verificar la configuración."
|
963 |
+
|
964 |
+
#: nextend-facebook-connect/includes/provider-admin.php:203
|
965 |
+
msgid "Works Fine"
|
966 |
+
msgstr "Funciona Bien"
|
967 |
+
|
968 |
+
#: nextend-facebook-connect/includes/provider-admin.php:217
|
969 |
+
#, php-format
|
970 |
+
msgid ""
|
971 |
+
"This provider is currently disabled, which means that users can’t register "
|
972 |
+
"or login via their %s account."
|
973 |
+
msgstr ""
|
974 |
+
"Este proveedor está desactivado, así que los usuarios no pueden registrarse "
|
975 |
+
"ni iniciar sesión a través de su cuenta de %s."
|
976 |
+
|
977 |
+
#: nextend-facebook-connect/includes/provider-admin.php:220
|
978 |
+
#, php-format
|
979 |
+
msgid ""
|
980 |
+
"This provider works fine, but you can test it again. If you don’t want to "
|
981 |
+
"let users register or login with %s anymore you can disable it."
|
982 |
+
msgstr ""
|
983 |
+
"Este proveedor funciona bien pero puedes volver a probarlo. Si ya no deseas "
|
984 |
+
"permitir que los usuarios se registren o inicien sesión con %s, puedes "
|
985 |
+
"deshabilitarlo."
|
986 |
+
|
987 |
+
#: nextend-facebook-connect/includes/provider-admin.php:223
|
988 |
+
#, php-format
|
989 |
+
msgid ""
|
990 |
+
"This provider is currently enabled, which means that users can register or "
|
991 |
+
"login via their %s account."
|
992 |
+
msgstr ""
|
993 |
+
"Este proveedor está habilitado, así que los usuarios pueden registrarse o "
|
994 |
+
"iniciar sesión a través de su cuenta %s."
|
995 |
+
|
996 |
+
#: nextend-facebook-connect/includes/provider-admin.php:231
|
997 |
+
msgid "Verify Settings Again"
|
998 |
+
msgstr "Verificar la configuración de nuevo"
|
999 |
+
|
1000 |
+
#: nextend-facebook-connect/includes/provider-admin.php:232
|
1001 |
+
msgid "Please save your changes before verifying settings."
|
1002 |
+
msgstr "Guarda tus cambios antes de verificar la configuración, por favor."
|
1003 |
+
|
1004 |
+
#: nextend-facebook-connect/includes/provider.php:320
|
1005 |
+
#: nextend-facebook-connect/includes/provider.php:618
|
1006 |
+
#: nextend-facebook-connect/includes/provider.php:629
|
1007 |
+
msgid "Authentication successful"
|
1008 |
+
msgstr "Autenticación exitosa"
|
1009 |
+
|
1010 |
+
#: nextend-facebook-connect/includes/provider.php:558
|
1011 |
+
#: nextend-facebook-connect/includes/user.php:102
|
1012 |
+
msgid "Authentication error"
|
1013 |
+
msgstr "Error de autenticación"
|
1014 |
+
|
1015 |
+
#: nextend-facebook-connect/includes/provider.php:573
|
1016 |
+
msgid "Unlink successful."
|
1017 |
+
msgstr "Desenlace exitoso."
|
1018 |
+
|
1019 |
+
#: nextend-facebook-connect/includes/provider.php:758
|
1020 |
+
#: nextend-facebook-connect/includes/provider.php:765
|
1021 |
+
msgid "The test was successful"
|
1022 |
+
msgstr "La prueba fue exitosa"
|
1023 |
+
|
1024 |
+
#: nextend-facebook-connect/includes/provider.php:811
|
1025 |
+
msgid "Authentication failed"
|
1026 |
+
msgstr "Error de autenticación"
|
1027 |
+
|
1028 |
+
#: nextend-facebook-connect/includes/user.php:66
|
1029 |
+
#, php-format
|
1030 |
+
msgid ""
|
1031 |
+
"Your %1$s account is successfully linked with your account. Now you can sign "
|
1032 |
+
"in with %2$s easily."
|
1033 |
+
msgstr ""
|
1034 |
+
"Tu cuenta %1$s está vinculada con éxito a tu cuenta. Ahora puedes iniciar "
|
1035 |
+
"sesión con %2$s fácilmente."
|
1036 |
+
|
1037 |
+
#: nextend-facebook-connect/includes/user.php:69
|
1038 |
+
#, php-format
|
1039 |
+
msgid ""
|
1040 |
+
"You have already linked a(n) %s account. Please unlink the current and then "
|
1041 |
+
"you can link other %s account."
|
1042 |
+
msgstr ""
|
1043 |
+
"Ya has vinculado una %s cuenta. Desvincula la cuenta actual y después "
|
1044 |
+
"podrías vincular otra cuenta de %s."
|
1045 |
+
|
1046 |
+
#: nextend-facebook-connect/includes/user.php:74
|
1047 |
+
#, php-format
|
1048 |
+
msgid "This %s account is already linked to other user."
|
1049 |
+
msgstr "Esta cuenta %s ya está vinculada a otro usuario."
|
1050 |
+
|
1051 |
+
#. translators: %2$s: PHP version
|
1052 |
+
#: nextend-facebook-connect/nextend-facebook-connect.php:34
|
1053 |
+
#, php-format
|
1054 |
+
msgid "%1$s requires PHP version %2$s+, plugin is currently NOT ACTIVE."
|
1055 |
+
msgstr "%1$s requiere la versión PHP %2$s+, el plugin NO ESTÁ ACTIVO."
|
1056 |
+
|
1057 |
+
#. translators: %2$s: WordPress version
|
1058 |
+
#: nextend-facebook-connect/nextend-facebook-connect.php:41
|
1059 |
+
#, php-format
|
1060 |
+
msgid ""
|
1061 |
+
"%1$s requires WordPress version %2$s+. Because you are using an earlier "
|
1062 |
+
"version, the plugin is currently NOT ACTIVE."
|
1063 |
+
msgstr ""
|
1064 |
+
"%1$s requiere la versión de WordPress %2$s+. Desde estás utilizando una "
|
1065 |
+
"versión anterior, el plugin NO ESTÁ ACTIVO."
|
1066 |
+
|
1067 |
+
#: nextend-facebook-connect/nextend-social-login.php:25
|
1068 |
+
#: nextend-facebook-connect/nextend-social-login.php:33
|
1069 |
+
#, php-format
|
1070 |
+
msgid "Please update %1$s to version %2$s or newer."
|
1071 |
+
msgstr "Por favor, actualiza %1$s a la versión %2$s o más reciente."
|
1072 |
+
|
1073 |
+
#: nextend-facebook-connect/nextend-social-login.php:25
|
1074 |
+
#: nextend-facebook-connect/nextend-social-login.php:33
|
1075 |
+
msgid "Update now!"
|
1076 |
+
msgstr "¡Actualizar ahora!"
|
1077 |
+
|
1078 |
+
#: nextend-facebook-connect/nextend-social-login.php:379
|
1079 |
+
#, php-format
|
1080 |
+
msgid ""
|
1081 |
+
"%s took the place of Nextend Google Connect. You can delete Nextend Google "
|
1082 |
+
"Connect as it is not needed anymore."
|
1083 |
+
msgstr ""
|
1084 |
+
"%s ha reemplazado Nextend Google Connect. Puedes eliminar Nextend Google "
|
1085 |
+
"Connect porque ya no es necesario."
|
1086 |
+
|
1087 |
+
#: nextend-facebook-connect/nextend-social-login.php:390
|
1088 |
+
#, php-format
|
1089 |
+
msgid ""
|
1090 |
+
"%s took the place of Nextend Twitter Connect. You can delete Nextend Twitter "
|
1091 |
+
"Connect as it is not needed anymore."
|
1092 |
+
msgstr ""
|
1093 |
+
"%s ha reemplazado Nextend Twitter Connect. Puedes eliminar Nextend Twitter "
|
1094 |
+
"Connect porque ya no es necesario."
|
1095 |
+
|
1096 |
+
#: nextend-facebook-connect/nextend-social-login.php:507
|
1097 |
+
msgid "You have logged in successfully."
|
1098 |
+
msgstr "Has ingresado exitosamente."
|
1099 |
+
|
1100 |
+
#: nextend-facebook-connect/nextend-social-login.php:631
|
1101 |
+
#: nextend-facebook-connect/nextend-social-login.php:919
|
1102 |
+
msgid "Social Login"
|
1103 |
+
msgstr "Social Login"
|
1104 |
+
|
1105 |
+
#: nextend-facebook-connect/nextend-social-login.php:903
|
1106 |
+
msgid "Social Accounts"
|
1107 |
+
msgstr "Cuentas Sociales"
|
1108 |
+
|
1109 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:8
|
1110 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:21
|
1111 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:8
|
1112 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:16
|
1113 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:8
|
1114 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:16
|
1115 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:8
|
1116 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:21
|
1117 |
+
#: nextend-social-login-pro/providers/linkedin/admin/fix-redirect-uri.php:8
|
1118 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:15
|
1119 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:8
|
1120 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:15
|
1121 |
+
#, php-format
|
1122 |
+
msgid "Navigate to %s"
|
1123 |
+
msgstr "Navegar a %s"
|
1124 |
+
|
1125 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:9
|
1126 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:22
|
1127 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:9
|
1128 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:17
|
1129 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:9
|
1130 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:17
|
1131 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:9
|
1132 |
+
#: nextend-social-login-pro/providers/linkedin/admin/fix-redirect-uri.php:9
|
1133 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:16
|
1134 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:9
|
1135 |
+
#, php-format
|
1136 |
+
msgid "Log in with your %s credentials if you are not logged in"
|
1137 |
+
msgstr "Inicia sesión con tus %s credenciales si no has iniciado sesión"
|
1138 |
+
|
1139 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:10
|
1140 |
+
#, php-format
|
1141 |
+
msgid "Click on the App with App ID: %s"
|
1142 |
+
msgstr "Haz clic en la App con la App ID: %s"
|
1143 |
+
|
1144 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:11
|
1145 |
+
msgid "In the left sidebar, click on \"Facebook Login/Settings\""
|
1146 |
+
msgstr "En la barra lateral izquierda, haz clic en \"Facebook Login/Ajustes\""
|
1147 |
+
|
1148 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:12
|
1149 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:31
|
1150 |
+
#, php-format
|
1151 |
+
msgid ""
|
1152 |
+
"Add the following URL to the \"Valid OAuth redirect URIs\" field: <b>%s</b>"
|
1153 |
+
msgstr ""
|
1154 |
+
"Agrega la siguiente URL al campo \"Valid OAuth redirect URIs\": <b>%s</b>"
|
1155 |
+
|
1156 |
+
#: nextend-facebook-connect/providers/facebook/admin/fix-redirect-uri.php:13
|
1157 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:32
|
1158 |
+
msgid "Click on \"Save Changes\""
|
1159 |
+
msgstr "Haz clic en \"Guardar Cambios\""
|
1160 |
+
|
1161 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:11
|
1162 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:13
|
1163 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:11
|
1164 |
+
#, php-format
|
1165 |
+
msgid ""
|
1166 |
+
"%1$s allows HTTPS OAuth Redirects only. You must move your site to HTTPS in "
|
1167 |
+
"order to allow login with %1$s."
|
1168 |
+
msgstr ""
|
1169 |
+
"%1$s solo permite redireccionamientos HTTPS OAuth. Debes mover tu sitio a "
|
1170 |
+
"HTTPS para permitir el inicio de sesión con %1$s."
|
1171 |
+
|
1172 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:12
|
1173 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:14
|
1174 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:12
|
1175 |
+
msgid "How to get SSL for my WordPress site?"
|
1176 |
+
msgstr "¿Cómo puedo obtener SSL para mi sitio de WordPress?"
|
1177 |
+
|
1178 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:16
|
1179 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:11
|
1180 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:11
|
1181 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:10
|
1182 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:10
|
1183 |
+
#, php-format
|
1184 |
+
msgid ""
|
1185 |
+
"To allow your visitors to log in with their %1$s account, first you must "
|
1186 |
+
"create a %1$s App. The following guide will help you through the %1$s App "
|
1187 |
+
"creation process. After you have created your %1$s App, head over to "
|
1188 |
+
"\"Settings\" and configure the given \"%2$s\" and \"%3$s\" according to your "
|
1189 |
+
"%1$s App."
|
1190 |
+
msgstr ""
|
1191 |
+
"Para permitir que tus visitantes inicien sesión con su cuenta %1$s, primero "
|
1192 |
+
"debes crear una aplicación %1$s. La siguiente guía te ayudará a través del "
|
1193 |
+
"proceso de creación de la aplicación %1$s. Después de haber creado tu "
|
1194 |
+
"aplicación %1$s, dirígete a \"Ajustes\" y configura los \"%2$s\" y \"%3$s\" "
|
1195 |
+
"dados según tu aplicación %1$s."
|
1196 |
+
|
1197 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:18
|
1198 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:13
|
1199 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:13
|
1200 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:18
|
1201 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:12
|
1202 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:12
|
1203 |
+
#, php-format
|
1204 |
+
msgctxt "App creation"
|
1205 |
+
msgid "Create %s"
|
1206 |
+
msgstr "Crear %s"
|
1207 |
+
|
1208 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:23
|
1209 |
+
msgid "Click on the \"Add a New App\" button"
|
1210 |
+
msgstr "Haz clic en el botón \"Add a New App\" por favor"
|
1211 |
+
|
1212 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:24
|
1213 |
+
msgid "Fill \"Display Name\" and \"Contact Email\""
|
1214 |
+
msgstr "Llena \"Nombre para Mostrar\" y \"Email de Contacto\""
|
1215 |
+
|
1216 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:25
|
1217 |
+
msgid "Click on blue \"Create App ID\" button"
|
1218 |
+
msgstr "Haz clic en el botón azul \"Create App ID\" por favor"
|
1219 |
+
|
1220 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:26
|
1221 |
+
msgid ""
|
1222 |
+
"Move your mouse over Facebook Login and click on the appearing \"Set Up\" "
|
1223 |
+
"button"
|
1224 |
+
msgstr ""
|
1225 |
+
"Mueve tu mouse sobre Facebook Login y haz clic en el botón \"Configurar\" "
|
1226 |
+
"que aparece"
|
1227 |
+
|
1228 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:27
|
1229 |
+
msgid "Choose Web"
|
1230 |
+
msgstr "Escoge Web"
|
1231 |
+
|
1232 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:28
|
1233 |
+
#, php-format
|
1234 |
+
msgid "Fill \"Site URL\" with the url of your homepage, probably: <b>%s</b>"
|
1235 |
+
msgstr ""
|
1236 |
+
"Llena \"Site URL\" con la URL de tu página principal, probablemente: <b>%s</"
|
1237 |
+
"b>"
|
1238 |
+
|
1239 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:29
|
1240 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:13
|
1241 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:14
|
1242 |
+
msgid "Click on \"Save\""
|
1243 |
+
msgstr "Haz clic en \"Guardar Cambios\""
|
1244 |
+
|
1245 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:30
|
1246 |
+
msgid "In the left sidebar, click on \"Facebook Login\""
|
1247 |
+
msgstr "En la barra lateral izquierda, haz clic en \"Facebook Login\""
|
1248 |
+
|
1249 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:33
|
1250 |
+
msgid "In the top of the left sidebar, click on \"Settings\""
|
1251 |
+
msgstr ""
|
1252 |
+
"En la parte superior de la barra lateral izquierda, haz clic en \"Ajustes\""
|
1253 |
+
|
1254 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:34
|
1255 |
+
msgid ""
|
1256 |
+
"Here you can see your \"APP ID\" and you can see your \"App secret\" if you "
|
1257 |
+
"click on the \"Show\" button. These will be needed in plugin's settings."
|
1258 |
+
msgstr ""
|
1259 |
+
"Aquí puedes ver tu \"APP ID\" y puedes ver tu \"App secret\" si haces clic "
|
1260 |
+
"en el botón \"Mostrar\". Estos serán necesarios en la configuración del "
|
1261 |
+
"plugin."
|
1262 |
+
|
1263 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:35
|
1264 |
+
msgid "Enter your domain name to the App Domains"
|
1265 |
+
msgstr "Ingresa tu nombre de dominio a los App Domains"
|
1266 |
+
|
1267 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:36
|
1268 |
+
msgid ""
|
1269 |
+
"Fill up the \"Privacy Policy URL\". Provide a publicly available and easily "
|
1270 |
+
"accessible privacy policy that explains what data you are collecting and how "
|
1271 |
+
"you will use that data."
|
1272 |
+
msgstr ""
|
1273 |
+
"Llena la \"Privacy Policy URL\". Proporciona una política de privacidad "
|
1274 |
+
"accesible al público y de fácil acceso que explique cuales datos estás "
|
1275 |
+
"recopilando y cómo utilizarás esos datos."
|
1276 |
+
|
1277 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:37
|
1278 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:19
|
1279 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:19
|
1280 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:19
|
1281 |
+
msgid "Save your changes."
|
1282 |
+
msgstr "Guarda tus cambios."
|
1283 |
+
|
1284 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:38
|
1285 |
+
msgid ""
|
1286 |
+
"Your application is currently private, which means that only you can log in "
|
1287 |
+
"with it. In the left sidebar choose \"App Review\" and make your App public"
|
1288 |
+
msgstr ""
|
1289 |
+
"Tu aplicación está privada, así que solo tú puedes iniciar sesión con ella. "
|
1290 |
+
"En la barra lateral izquierda, elige \"App Review\" y haz que tu aplicación "
|
1291 |
+
"sea pública"
|
1292 |
+
|
1293 |
+
#: nextend-facebook-connect/providers/facebook/admin/getting-started.php:42
|
1294 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:32
|
1295 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:27
|
1296 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:37
|
1297 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:29
|
1298 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:31
|
1299 |
+
#, php-format
|
1300 |
+
msgid "I am done setting up my %s"
|
1301 |
+
msgstr "He terminado de configurar mi %s"
|
1302 |
+
|
1303 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:9
|
1304 |
+
msgid "Import Facebook configuration"
|
1305 |
+
msgstr "Importar configuración de Facebook"
|
1306 |
+
|
1307 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:10
|
1308 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:10
|
1309 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:10
|
1310 |
+
msgid "Be sure to read the following notices before you proceed."
|
1311 |
+
msgstr "Asegúrate de leer los siguientes avisos antes de continuar."
|
1312 |
+
|
1313 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:12
|
1314 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:12
|
1315 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:12
|
1316 |
+
msgid "Important steps before the import"
|
1317 |
+
msgstr "Pasos importantes antes de la importación"
|
1318 |
+
|
1319 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:13
|
1320 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:13
|
1321 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:13
|
1322 |
+
msgid ""
|
1323 |
+
"Make sure that the redirect URI for your app is correct before proceeding."
|
1324 |
+
msgstr ""
|
1325 |
+
"Asegúrate de que el URI de redirección para tu aplicación sea correcto antes "
|
1326 |
+
"de continuar."
|
1327 |
+
|
1328 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:15
|
1329 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:15
|
1330 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:15
|
1331 |
+
#, php-format
|
1332 |
+
msgid "Visit %s."
|
1333 |
+
msgstr "Visita %s."
|
1334 |
+
|
1335 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:16
|
1336 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:16
|
1337 |
+
msgid "Select your app."
|
1338 |
+
msgstr "Selecciona tu aplicación."
|
1339 |
+
|
1340 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:17
|
1341 |
+
msgid ""
|
1342 |
+
"Go to the Settings menu which you can find below the Facebook Login in the "
|
1343 |
+
"left menu."
|
1344 |
+
msgstr ""
|
1345 |
+
"Ve al menú de Ajustes que se encuentra debajo del Facebook Login en el menú "
|
1346 |
+
"de la izquierda."
|
1347 |
+
|
1348 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:18
|
1349 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:18
|
1350 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:18
|
1351 |
+
#, php-format
|
1352 |
+
msgid "Make sure that the \"%1$s\" field contains %2$s"
|
1353 |
+
msgstr "Asegúrate que el campo \"%1$s\" tiene %2$s"
|
1354 |
+
|
1355 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:22
|
1356 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:22
|
1357 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:22
|
1358 |
+
msgid "The following settings will be imported:"
|
1359 |
+
msgstr "Se importarán las siguientes configuraciones:"
|
1360 |
+
|
1361 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:24
|
1362 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:24
|
1363 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:24
|
1364 |
+
msgid "Your old API configurations"
|
1365 |
+
msgstr "Tus configuraciones anteriores de API"
|
1366 |
+
|
1367 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:25
|
1368 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:25
|
1369 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:25
|
1370 |
+
msgid "The user prefix you set"
|
1371 |
+
msgstr "El prefijo del usuario que estableciste"
|
1372 |
+
|
1373 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:28
|
1374 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:28
|
1375 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:28
|
1376 |
+
msgid "Create a backup of the old settings"
|
1377 |
+
msgstr "Crear una copia de seguridad de los ajustes anteriores"
|
1378 |
+
|
1379 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:31
|
1380 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:31
|
1381 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:31
|
1382 |
+
msgid "Other changes"
|
1383 |
+
msgstr "Otros cambios"
|
1384 |
+
|
1385 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:33
|
1386 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:33
|
1387 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:33
|
1388 |
+
msgid ""
|
1389 |
+
"The custom redirect URI is now handled globally for all providers, so it "
|
1390 |
+
"won't be imported from the previous version. Visit \"Nextend Social Login > "
|
1391 |
+
"Global settings\" to set the new redirect URIs."
|
1392 |
+
msgstr ""
|
1393 |
+
"El URI de redireccionamiento personalizado ahora se maneja de forma global "
|
1394 |
+
"para todos los proveedores, por lo que no se importará de la versión "
|
1395 |
+
"anterior. Visita \"Nextend Social Login > Ajustes Globales\" para establecer "
|
1396 |
+
"los nuevos URI de redirección."
|
1397 |
+
|
1398 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:34
|
1399 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:34
|
1400 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:34
|
1401 |
+
msgid ""
|
1402 |
+
"The login button's layout will be changed to a new, more modern look. If you "
|
1403 |
+
"used any custom buttons that won't be imported."
|
1404 |
+
msgstr ""
|
1405 |
+
"El diseño del botón de inicio de sesión cambiará a un aspecto nuevo y más "
|
1406 |
+
"moderno. Si usaste cualquier botón personalizado, no se importará."
|
1407 |
+
|
1408 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:35
|
1409 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:35
|
1410 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:35
|
1411 |
+
msgid ""
|
1412 |
+
"The old version's PHP functions are not available anymore. This means if you "
|
1413 |
+
"used any custom codes where you used these old functions, you need to remove "
|
1414 |
+
"them."
|
1415 |
+
msgstr ""
|
1416 |
+
"Las funciones PHP de la versión anterior ya no están disponibles. Esto "
|
1417 |
+
"significa que si usaste algunos códigos personalizados con estas funciones "
|
1418 |
+
"anteriores, debes eliminarlas."
|
1419 |
+
|
1420 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:37
|
1421 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:37
|
1422 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:37
|
1423 |
+
msgid ""
|
1424 |
+
"After the importing process finishes, you will need to <b>test</b> your app "
|
1425 |
+
"and <b>enable</b> the provider. You can do both in the next screen."
|
1426 |
+
msgstr ""
|
1427 |
+
"Una vez que finalice el proceso de importación, deberás <b>probar</b> tu "
|
1428 |
+
"aplicación y <b>habilitar</b> el proveedor. Puedes hacer ambas cosas en la "
|
1429 |
+
"pantalla siguiente."
|
1430 |
+
|
1431 |
+
#: nextend-facebook-connect/providers/facebook/admin/import.php:44
|
1432 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:44
|
1433 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:45
|
1434 |
+
msgid "Import Configuration"
|
1435 |
+
msgstr "Importar Configuración"
|
1436 |
+
|
1437 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:33
|
1438 |
+
msgid "App ID"
|
1439 |
+
msgstr "App ID"
|
1440 |
+
|
1441 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:34
|
1442 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:46
|
1443 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:28
|
1444 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:41
|
1445 |
+
#: nextend-facebook-connect/providers/twitter/admin/settings.php:28
|
1446 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:27
|
1447 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:39
|
1448 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:27
|
1449 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:39
|
1450 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:27
|
1451 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:39
|
1452 |
+
msgid "Required"
|
1453 |
+
msgstr "Obligatorio"
|
1454 |
+
|
1455 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:39
|
1456 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:35
|
1457 |
+
#: nextend-facebook-connect/providers/twitter/admin/settings.php:33
|
1458 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:33
|
1459 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:33
|
1460 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:33
|
1461 |
+
#, php-format
|
1462 |
+
msgid ""
|
1463 |
+
"If you are not sure what is your %1$s, please head over to <a href=\"%2$s"
|
1464 |
+
"\">Getting Started</a>"
|
1465 |
+
msgstr ""
|
1466 |
+
"Si no estás seguro de cuál es tu %1$s, dirígete a <a href=\"%2$s\">Getting "
|
1467 |
+
"Started</a>"
|
1468 |
+
|
1469 |
+
#: nextend-facebook-connect/providers/facebook/admin/settings.php:45
|
1470 |
+
msgid "App Secret"
|
1471 |
+
msgstr "App Secret"
|
1472 |
+
|
1473 |
+
#: nextend-facebook-connect/providers/facebook/facebook.php:91
|
1474 |
+
msgid "Continue with <b>Facebook</b>"
|
1475 |
+
msgstr "Sigue con <b>Facebook</b>"
|
1476 |
+
|
1477 |
+
#: nextend-facebook-connect/providers/facebook/facebook.php:92
|
1478 |
+
msgid "Link account with <b>Facebook</b>"
|
1479 |
+
msgstr "Enlazar cuenta con <b>Facebook</b>"
|
1480 |
+
|
1481 |
+
#: nextend-facebook-connect/providers/facebook/facebook.php:93
|
1482 |
+
msgid "Unlink account from <b>Facebook</b>"
|
1483 |
+
msgstr "Desenlazar cuenta de <b>Facebook</b>"
|
1484 |
+
|
1485 |
+
#: nextend-facebook-connect/providers/facebook/facebook.php:151
|
1486 |
+
#: nextend-facebook-connect/providers/google/google.php:71
|
1487 |
+
#: nextend-facebook-connect/providers/twitter/twitter.php:71
|
1488 |
+
#: nextend-social-login-pro/providers/amazon/amazon.php:71
|
1489 |
+
#: nextend-social-login-pro/providers/linkedin/linkedin.php:68
|
1490 |
+
#: nextend-social-login-pro/providers/vk/vk.php:68
|
1491 |
+
#, php-format
|
1492 |
+
msgid ""
|
1493 |
+
"The %1$s entered did not appear to be a valid. Please enter a valid %2$s."
|
1494 |
+
msgstr ""
|
1495 |
+
"El %1$s ingresado no parece ser válido. Por favor ingresa un %2$s válido."
|
1496 |
+
|
1497 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:10
|
1498 |
+
msgid "Click on the \"Credentials\" in the left hand menu"
|
1499 |
+
msgstr "Haz clic en \"Credentials\" en el menú de la izquierda"
|
1500 |
+
|
1501 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:11
|
1502 |
+
#, php-format
|
1503 |
+
msgid "Click on OAuth 2.0 client ID: %s"
|
1504 |
+
msgstr "Haz clic en la ID del cliente de OAuth 2.0: %s"
|
1505 |
+
|
1506 |
+
#: nextend-facebook-connect/providers/google/admin/fix-redirect-uri.php:12
|
1507 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:26
|
1508 |
+
#, php-format
|
1509 |
+
msgid ""
|
1510 |
+
"Add the following URL to the \"Authorised redirect URIs\" field: <b>%s</b>"
|
1511 |
+
msgstr ""
|
1512 |
+
"Agrega la siguiente URL al campo \"Authorised redirect URIs\": <b>%s</b>"
|
1513 |
+
|
1514 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:18
|
1515 |
+
msgid ""
|
1516 |
+
"If you don't have a project yet, you'll need to create one. You can do this "
|
1517 |
+
"by clicking on the blue \"Create project\" button on the right side"
|
1518 |
+
msgstr ""
|
1519 |
+
"Si aún no tienes un proyecto, deberás crear uno. Puedes hacer esto haciendo "
|
1520 |
+
"clic en el botón azul \"Create project\" en el lado derecho"
|
1521 |
+
|
1522 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:19
|
1523 |
+
msgid "Name your project and then click on the Create button"
|
1524 |
+
msgstr "Denomina tu proyecto y luego haz clic en el botón Create"
|
1525 |
+
|
1526 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:20
|
1527 |
+
msgid "Once you have a project, you'll end up in the dashboard."
|
1528 |
+
msgstr "Una vez que tengas un proyecto, llegarás al escritorio."
|
1529 |
+
|
1530 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:21
|
1531 |
+
msgid ""
|
1532 |
+
"Click on the \"Credentials\" in the left hand menu to create new API "
|
1533 |
+
"credentials"
|
1534 |
+
msgstr ""
|
1535 |
+
"Haz clic en \"Credentials\" en el menú de la izquierda para crear nuevas "
|
1536 |
+
"credenciales de API"
|
1537 |
+
|
1538 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:22
|
1539 |
+
msgid ""
|
1540 |
+
"Go to the OAuth consent screen tab and enter a product name and provide the "
|
1541 |
+
"Privacy Policy URL, then click on the save button."
|
1542 |
+
msgstr ""
|
1543 |
+
"Ve a la pestaña de la pantalla de consentimiento de OAuth e ingresa el "
|
1544 |
+
"nombre de un producto y proporciona la URL de la Privacy Policy, luego haz "
|
1545 |
+
"clic en el botón guardar."
|
1546 |
+
|
1547 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:23
|
1548 |
+
msgid ""
|
1549 |
+
"Go back to the Credentials tab and locate the small box at the middle. Click "
|
1550 |
+
"on the blue \"Create credentials\" button. Chose the \"OAuth client ID\" "
|
1551 |
+
"from the dropdown list."
|
1552 |
+
msgstr ""
|
1553 |
+
"Regresa a la pestaña de Credentials y ubica la pequeña caja en el medio. Haz "
|
1554 |
+
"clic en el botón azul \"Create credentials\". Elija la \"OAuth client ID\" "
|
1555 |
+
"de la lista desplegable."
|
1556 |
+
|
1557 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:24
|
1558 |
+
msgid "Your application type should be \"Web application\""
|
1559 |
+
msgstr "Tu tipo de aplicación debe ser \"Web application\""
|
1560 |
+
|
1561 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:25
|
1562 |
+
msgid "Name your application"
|
1563 |
+
msgstr "Nombra tu aplicación"
|
1564 |
+
|
1565 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:27
|
1566 |
+
msgid "Click on the Create button"
|
1567 |
+
msgstr "Haz clic en el botón Create"
|
1568 |
+
|
1569 |
+
#: nextend-facebook-connect/providers/google/admin/getting-started.php:28
|
1570 |
+
msgid ""
|
1571 |
+
"A modal should pop up with your credentials. If that doesn't happen, go to "
|
1572 |
+
"the Credentials in the left hand menu and select your app by clicking on its "
|
1573 |
+
"name and you'll be able to copy-paste the Client ID and Client Secret from "
|
1574 |
+
"there."
|
1575 |
+
msgstr ""
|
1576 |
+
"Un modal debería aparecer con tus credenciales. Si eso no sucede, ve a "
|
1577 |
+
"Credentials en el menú de la izquierda y selecciona tu aplicación haciendo "
|
1578 |
+
"clic en su nombre y podrías copiar y pegar desde ahí la Client ID y el "
|
1579 |
+
"Client Secret."
|
1580 |
+
|
1581 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:9
|
1582 |
+
msgid "Import Google configuration"
|
1583 |
+
msgstr "Importar configuración de Google"
|
1584 |
+
|
1585 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:16
|
1586 |
+
msgid "If you have more projects, select the one where your app is."
|
1587 |
+
msgstr "Si tienes más proyectos, selecciona el que es tu aplicación."
|
1588 |
+
|
1589 |
+
#: nextend-facebook-connect/providers/google/admin/import.php:17
|
1590 |
+
msgid "Click on Credentials at the left-hand menu then select your app."
|
1591 |
+
msgstr ""
|
1592 |
+
"Haz clic en Credentials en el menú de la izquierda y luego selecciona tu "
|
1593 |
+
"aplicación."
|
1594 |
+
|
1595 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:27
|
1596 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:26
|
1597 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:26
|
1598 |
+
msgid "Client ID"
|
1599 |
+
msgstr "Client ID"
|
1600 |
+
|
1601 |
+
#: nextend-facebook-connect/providers/google/admin/settings.php:40
|
1602 |
+
#: nextend-social-login-pro/providers/amazon/admin/settings.php:38
|
1603 |
+
#: nextend-social-login-pro/providers/linkedin/admin/settings.php:38
|
1604 |
+
msgid "Client Secret"
|
1605 |
+
msgstr "Client Secret"
|
1606 |
+
|
1607 |
+
#: nextend-facebook-connect/providers/google/google.php:38
|
1608 |
+
msgid "Continue with <b>Google</b>"
|
1609 |
+
msgstr "Sigue con <b>Google</b>"
|
1610 |
+
|
1611 |
+
#: nextend-facebook-connect/providers/google/google.php:39
|
1612 |
+
msgid "Link account with <b>Google</b>"
|
1613 |
+
msgstr "Enlazar cuenta con <b>Google</b>"
|
1614 |
+
|
1615 |
+
#: nextend-facebook-connect/providers/google/google.php:40
|
1616 |
+
msgid "Unlink account from <b>Google</b>"
|
1617 |
+
msgstr "Desenlazar cuenta de <b>Google</b>"
|
1618 |
+
|
1619 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:10
|
1620 |
+
#: nextend-social-login-pro/providers/linkedin/admin/fix-redirect-uri.php:10
|
1621 |
+
msgid "Click on the App"
|
1622 |
+
msgstr "Haz clic en la App"
|
1623 |
+
|
1624 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:11
|
1625 |
+
msgid "Click on the \"Settings\" tab"
|
1626 |
+
msgstr "Haz clic en la pestaña de Ajustes"
|
1627 |
+
|
1628 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:12
|
1629 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:20
|
1630 |
+
#, php-format
|
1631 |
+
msgid "Add the following URL to the \"Callback URL\" field: <b>%s</b>"
|
1632 |
+
msgstr "Agrega la siguiente URL al campo de \"Callback URL\": <b>%s</b>"
|
1633 |
+
|
1634 |
+
#: nextend-facebook-connect/providers/twitter/admin/fix-redirect-uri.php:13
|
1635 |
+
msgid "Click on \"Update Settings\""
|
1636 |
+
msgstr "Haz clic en \"Actualizar Ajustes\""
|
1637 |
+
|
1638 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:18
|
1639 |
+
msgid "Click on the \"Create New App\" button"
|
1640 |
+
msgstr "Haz clic en el botón de \"Create New App\" por favor"
|
1641 |
+
|
1642 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:19
|
1643 |
+
#, php-format
|
1644 |
+
msgid ""
|
1645 |
+
"Fill the name and description fields. Then enter your site's URL to the "
|
1646 |
+
"Website field: <b>%s</b>"
|
1647 |
+
msgstr ""
|
1648 |
+
"Llena los campos de nombre y descripción. Luego ingresa la URL de tu sitio "
|
1649 |
+
"en el campo Website: <b>%s</b>"
|
1650 |
+
|
1651 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:21
|
1652 |
+
msgid "Accept the Twitter Developer Agreement"
|
1653 |
+
msgstr "Aceptar el Twitter Developer Agreement"
|
1654 |
+
|
1655 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:22
|
1656 |
+
msgid ""
|
1657 |
+
"Create your application by clicking on the Create your Twitter application "
|
1658 |
+
"button"
|
1659 |
+
msgstr ""
|
1660 |
+
"Crea tu aplicación haciendo clic en el botón Create your Twitter application"
|
1661 |
+
|
1662 |
+
#: nextend-facebook-connect/providers/twitter/admin/getting-started.php:23
|
1663 |
+
msgid ""
|
1664 |
+
"Go to the Keys and Access Tokens tab and find the Consumer Key and Secret"
|
1665 |
+
msgstr ""
|
1666 |
+
"Ve a la pestaña Keys and Access Tokens y busca la Consumer Key y Secret"
|
1667 |
+
|
1668 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:9
|
1669 |
+
msgid "Import Twitter configuration"
|
1670 |
+
msgstr "Importar configuración de Twitter"
|
1671 |
+
|
1672 |
+
#: nextend-facebook-connect/providers/twitter/admin/import.php:17
|
1673 |
+
msgid "Go to the Settings tab."
|
1674 |
+
msgstr "Ve a la pestaña de Ajustes."
|
1675 |
+
|
1676 |
+
#: nextend-facebook-connect/providers/twitter/admin/settings.php:27
|
1677 |
+
msgid "Consumer Key"
|
1678 |
+
msgstr "Consumer Key"
|
1679 |
+
|
1680 |
+
#: nextend-facebook-connect/providers/twitter/admin/settings.php:38
|
1681 |
+
msgid "Consumer Secret"
|
1682 |
+
msgstr "Consumer Secret"
|
1683 |
+
|
1684 |
+
#: nextend-facebook-connect/providers/twitter/twitter.php:38
|
1685 |
+
msgid "Continue with <b>Twitter</b>"
|
1686 |
+
msgstr "Sigue con <b>Twitter</b>"
|
1687 |
+
|
1688 |
+
#: nextend-facebook-connect/providers/twitter/twitter.php:39
|
1689 |
+
msgid "Link account with <b>Twitter</b>"
|
1690 |
+
msgstr "Enlazar cuenta con <b>Twitter</b>"
|
1691 |
+
|
1692 |
+
#: nextend-facebook-connect/providers/twitter/twitter.php:40
|
1693 |
+
msgid "Unlink account from <b>Twitter</b>"
|
1694 |
+
msgstr "Desenlazar cuenta de <b>Twitter</b>"
|
1695 |
+
|
1696 |
+
#: nextend-facebook-connect/widget.php:10
|
1697 |
+
#, php-format
|
1698 |
+
msgid "%s Buttons"
|
1699 |
+
msgstr "%s Botones"
|
1700 |
+
|
1701 |
+
#: nextend-facebook-connect/widget.php:28
|
1702 |
+
msgid "Title:"
|
1703 |
+
msgstr "Titulo:"
|
1704 |
+
|
1705 |
+
#: nextend-facebook-connect/widget.php:36
|
1706 |
+
msgid "Button style:"
|
1707 |
+
msgstr "Estilo de Botón:"
|
1708 |
+
|
1709 |
+
#: nextend-facebook-connect/widget.php:64
|
1710 |
+
msgid "Show link buttons"
|
1711 |
+
msgstr "Mostrar botones de enlazar"
|
1712 |
+
|
1713 |
+
#: nextend-facebook-connect/widget.php:73
|
1714 |
+
msgid "Show unlink buttons"
|
1715 |
+
msgstr "Mostrar botones de desenlazar"
|
1716 |
+
|
1717 |
+
#: nextend-social-login-pro/class-provider-extension.php:114
|
1718 |
+
msgid "Social login is not allowed with this role!"
|
1719 |
+
msgstr "¡Social login no esta permitido con este rol!"
|
1720 |
+
|
1721 |
+
#: nextend-social-login-pro/class-provider-extension.php:209
|
1722 |
+
#: nextend-social-login-pro/class-provider-extension.php:211
|
1723 |
+
#: nextend-social-login-pro/class-provider-extension.php:216
|
1724 |
+
#: nextend-social-login-pro/class-provider-extension.php:222
|
1725 |
+
#: nextend-social-login-pro/class-provider-extension.php:235
|
1726 |
+
#: nextend-social-login-pro/class-provider-extension.php:237
|
1727 |
+
#: nextend-social-login-pro/class-provider-extension.php:240
|
1728 |
+
msgid "ERROR"
|
1729 |
+
msgstr "ERROR"
|
1730 |
+
|
1731 |
+
#: nextend-social-login-pro/class-provider-extension.php:209
|
1732 |
+
msgid "Please enter a username."
|
1733 |
+
msgstr "Por favor introduce un usuario."
|
1734 |
+
|
1735 |
+
#: nextend-social-login-pro/class-provider-extension.php:211
|
1736 |
+
msgid ""
|
1737 |
+
"This username is invalid because it uses illegal characters. Please enter a "
|
1738 |
+
"valid username."
|
1739 |
+
msgstr ""
|
1740 |
+
"Este usuario no es válido porque usa caracteres ilegales. Por favor ingresa "
|
1741 |
+
"un usuario válido."
|
1742 |
+
|
1743 |
+
#: nextend-social-login-pro/class-provider-extension.php:216
|
1744 |
+
msgid "This username is already registered. Please choose another one."
|
1745 |
+
msgstr "Este nombre de usuario ya está registrado. Por favor escoge otro."
|
1746 |
+
|
1747 |
+
#: nextend-social-login-pro/class-provider-extension.php:222
|
1748 |
+
msgid "Sorry, that username is not allowed."
|
1749 |
+
msgstr "Lo sentimos, ese usuario no está permitido."
|
1750 |
+
|
1751 |
+
#: nextend-social-login-pro/class-provider-extension.php:235
|
1752 |
+
msgid "Please enter an email address."
|
1753 |
+
msgstr "Por favor introduce un email."
|
1754 |
+
|
1755 |
+
#: nextend-social-login-pro/class-provider-extension.php:237
|
1756 |
+
msgid "The email address isn’t correct."
|
1757 |
+
msgstr "El email no es correcto."
|
1758 |
+
|
1759 |
+
#: nextend-social-login-pro/class-provider-extension.php:240
|
1760 |
+
msgid "This email is already registered, please choose another one."
|
1761 |
+
msgstr "Este email ya esta registrado, por favor escoge otro."
|
1762 |
+
|
1763 |
+
#: nextend-social-login-pro/class-provider-extension.php:255
|
1764 |
+
msgid "<strong>ERROR</strong>: Please enter a password."
|
1765 |
+
msgstr "<strong>ERROR</strong>: Por favor introduce una contraseña."
|
1766 |
+
|
1767 |
+
#: nextend-social-login-pro/class-provider-extension.php:260
|
1768 |
+
msgid "<strong>ERROR</strong>: Passwords may not contain the character \"\\\"."
|
1769 |
+
msgstr ""
|
1770 |
+
"<strong>ERROR</strong>: Contraseñas no pueden contener el caracter \"\\\"."
|
1771 |
+
|
1772 |
+
#: nextend-social-login-pro/class-provider-extension.php:265
|
1773 |
+
msgid ""
|
1774 |
+
"<strong>ERROR</strong>: Please enter the same password in both password "
|
1775 |
+
"fields."
|
1776 |
+
msgstr ""
|
1777 |
+
"<strong>ERROR</strong>: Por favor introduce la misma contraseña en los dos "
|
1778 |
+
"campos de contraseña."
|
1779 |
+
|
1780 |
+
#: nextend-social-login-pro/class-provider-extension.php:328
|
1781 |
+
msgid "Register For This Site!"
|
1782 |
+
msgstr "¡Registrarse Para Este Sitio!"
|
1783 |
+
|
1784 |
+
#: nextend-social-login-pro/class-provider-extension.php:355
|
1785 |
+
msgid "Username"
|
1786 |
+
msgstr "Usuario"
|
1787 |
+
|
1788 |
+
#: nextend-social-login-pro/class-provider-extension.php:362
|
1789 |
+
msgid "Email"
|
1790 |
+
msgstr "Email"
|
1791 |
+
|
1792 |
+
#: nextend-social-login-pro/class-provider-extension.php:367
|
1793 |
+
msgid "Registration confirmation will be emailed to you."
|
1794 |
+
msgstr "La confirmación de registro será enviada por email."
|
1795 |
+
|
1796 |
+
#: nextend-social-login-pro/class-provider-extension.php:375
|
1797 |
+
msgid "Password"
|
1798 |
+
msgstr "Contraseña"
|
1799 |
+
|
1800 |
+
#: nextend-social-login-pro/class-provider-extension.php:385
|
1801 |
+
msgid "Strength indicator"
|
1802 |
+
msgstr "Indicador de dificultad"
|
1803 |
+
|
1804 |
+
#: nextend-social-login-pro/class-provider-extension.php:390
|
1805 |
+
msgid "Confirm use of weak password"
|
1806 |
+
msgstr "Confirmar el uso de contraseña débil"
|
1807 |
+
|
1808 |
+
#: nextend-social-login-pro/class-provider-extension.php:396
|
1809 |
+
msgid "Confirm password"
|
1810 |
+
msgstr "Confirmar contraseña"
|
1811 |
+
|
1812 |
+
#: nextend-social-login-pro/class-provider-extension.php:506
|
1813 |
+
#, php-format
|
1814 |
+
msgid ""
|
1815 |
+
"This email is already registered, please login in to your account to link "
|
1816 |
+
"with %1$s."
|
1817 |
+
msgstr ""
|
1818 |
+
"Este email ya está registrado, por favor inicia sesión en tu cuenta para "
|
1819 |
+
"vincularlo con %1$s."
|
1820 |
+
|
1821 |
+
#: nextend-social-login-pro/nextend-social-login-pro.php:51
|
1822 |
+
#, php-format
|
1823 |
+
msgid "Please install and activate %1$s to use the %2$s"
|
1824 |
+
msgstr "Por favor instala y activa %1$s para usar el %2$s"
|
1825 |
+
|
1826 |
+
#: nextend-social-login-pro/nextend-social-login-pro.php:57
|
1827 |
+
msgid "Activate"
|
1828 |
+
msgstr "Activar"
|
1829 |
+
|
1830 |
+
#: nextend-social-login-pro/nextend-social-login-pro.php:65
|
1831 |
+
msgid "Network Activate"
|
1832 |
+
msgstr "Activar Red"
|
1833 |
+
|
1834 |
+
#: nextend-social-login-pro/nextend-social-login-pro.php:77
|
1835 |
+
msgid "Install now!"
|
1836 |
+
msgstr "¡Instalar ahora!"
|
1837 |
+
|
1838 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:10
|
1839 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:23
|
1840 |
+
#, php-format
|
1841 |
+
msgid "Visit %s"
|
1842 |
+
msgstr "Visita %s"
|
1843 |
+
|
1844 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:11
|
1845 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:27
|
1846 |
+
msgid ""
|
1847 |
+
"On the right side, under \"Manage\", hover over the gear icon and select "
|
1848 |
+
"\"Web Settings\" option."
|
1849 |
+
msgstr ""
|
1850 |
+
"En el lado derecho, en \"Manage\", desplaza el cursor sobre el ícono de "
|
1851 |
+
"ajustes y selecciona la opción \"Web Settings\"."
|
1852 |
+
|
1853 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:12
|
1854 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:28
|
1855 |
+
msgid "Click \"Edit\"."
|
1856 |
+
msgstr "Haz clic en \"Edit\"."
|
1857 |
+
|
1858 |
+
#: nextend-social-login-pro/providers/amazon/admin/fix-redirect-uri.php:13
|
1859 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:30
|
1860 |
+
#, php-format
|
1861 |
+
msgid "Add the following URL to the \"Allowed Return URLs\" field <b>%s</b> "
|
1862 |
+
msgstr "Agrega la siguiente URL al campo \"Allowed Return URLs\" <b>%s</b> "
|
1863 |
+
|
1864 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:16
|
1865 |
+
#, php-format
|
1866 |
+
msgid ""
|
1867 |
+
"To allow your visitors to log in with their %1$s account, first you must "
|
1868 |
+
"create an %1$s App. The following guide will help you through the %1$s App "
|
1869 |
+
"creation process. After you have created your %1$s App, head over to "
|
1870 |
+
"\"Settings\" and configure the given \"%2$s\" and \"%3$s\" according to your "
|
1871 |
+
"%1$s App."
|
1872 |
+
msgstr ""
|
1873 |
+
"Para permitir que tus visitantes inicien sesión con su cuenta %1$s, primero "
|
1874 |
+
"debes crear una aplicación %1$s. La siguiente guía te ayudará a través del "
|
1875 |
+
"proceso de creación de la aplicación %1$s. Después de haber creado tu "
|
1876 |
+
"aplicación %1$s, dirígete a \"Ajustes\" y configura los \"%2$s\" y \"%3$s\" "
|
1877 |
+
"dados según tu aplicación %1$s."
|
1878 |
+
|
1879 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:22
|
1880 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:16
|
1881 |
+
#, php-format
|
1882 |
+
msgid "Log in with your %s credentials if you are not logged in."
|
1883 |
+
msgstr "Inicia sesión con tus %s credenciales si no has iniciado sesión."
|
1884 |
+
|
1885 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:24
|
1886 |
+
msgid ""
|
1887 |
+
"If you don't have a Security Profile yet, you'll need to create one. You can "
|
1888 |
+
"do this by clicking on the orange \"Create a New Security Profile\" button "
|
1889 |
+
"on the left side."
|
1890 |
+
msgstr ""
|
1891 |
+
"Si aún no tienes un Security Profile, deberás crear uno. Puedes hacer esto "
|
1892 |
+
"haciendo clic en el botón naranja \"Create a New Security Profile\" en el "
|
1893 |
+
"lado izquierdo."
|
1894 |
+
|
1895 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:25
|
1896 |
+
msgid ""
|
1897 |
+
"Fill \"Security Profile Name\", \"Security Profile Description\" and "
|
1898 |
+
"\"Consent Privacy Notice URL\"."
|
1899 |
+
msgstr ""
|
1900 |
+
"Llena \"Security Profile Name\", \"Security Profile Description\" y "
|
1901 |
+
"\"Consent Privacy Notice URL\"."
|
1902 |
+
|
1903 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:26
|
1904 |
+
msgid "Once you filled all the required fields, click \"Save\"."
|
1905 |
+
msgstr ""
|
1906 |
+
"Una vez que hayas completado todos los campos requeridos, haz clic en "
|
1907 |
+
"\"Guardar\"."
|
1908 |
+
|
1909 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:29
|
1910 |
+
#, php-format
|
1911 |
+
msgid ""
|
1912 |
+
"Fill \"Allowed Origins\" with the url of your homepage, probably: <b>%s</b>"
|
1913 |
+
msgstr ""
|
1914 |
+
"Llena \"Allowed Origins\" con la url de tu página principal, probablemente: "
|
1915 |
+
"<b>%s</b>"
|
1916 |
+
|
1917 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:31
|
1918 |
+
msgid "When all fields are filled, click \"Save\"."
|
1919 |
+
msgstr ""
|
1920 |
+
"Una vez que hayas completado todos los campos, haz clic en \"Guardar\"."
|
1921 |
+
|
1922 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:32
|
1923 |
+
msgid "Pick \"General\" tab, which is next to the \"Web Settings\" tab."
|
1924 |
+
msgstr ""
|
1925 |
+
"Escoge la pestaña \"General\" que está al lado de la pestaña \"Web Settings"
|
1926 |
+
"\"."
|
1927 |
+
|
1928 |
+
#: nextend-social-login-pro/providers/amazon/admin/getting-started.php:33
|
1929 |
+
msgid ""
|
1930 |
+
"Find the necessary \"Client ID\" and \"Client Secret\" at the middle of the "
|
1931 |
+
"page."
|
1932 |
+
msgstr "Busca la \"Client ID\" y \"Client Secret\" en el medio de la página."
|
1933 |
+
|
1934 |
+
#: nextend-social-login-pro/providers/amazon/amazon.php:37
|
1935 |
+
msgid "Continue with <b>Amazon</b>"
|
1936 |
+
msgstr "Sigue con <b>Amazon</b>"
|
1937 |
+
|
1938 |
+
#: nextend-social-login-pro/providers/amazon/amazon.php:38
|
1939 |
+
msgid "Link account with <b>Amazon</b>"
|
1940 |
+
msgstr "Enlazar cuenta con <b>Amazon</b>"
|
1941 |
+
|
1942 |
+
#: nextend-social-login-pro/providers/amazon/amazon.php:39
|
1943 |
+
msgid "Unlink account from <b>Amazon</b>"
|
1944 |
+
msgstr "Desenlazar cuenta de <b>Amazon</b>"
|
1945 |
+
|
1946 |
+
#: nextend-social-login-pro/providers/linkedin/admin/fix-redirect-uri.php:11
|
1947 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:23
|
1948 |
+
#, php-format
|
1949 |
+
msgid ""
|
1950 |
+
"Add the following URL to the \"Authorized Redirect URLs:\" field: <b>%s</b>"
|
1951 |
+
msgstr ""
|
1952 |
+
"Agrega la siguiente URL al campo \"Authorized Redirect URLs\": <b>%s</b>"
|
1953 |
+
|
1954 |
+
#: nextend-social-login-pro/providers/linkedin/admin/fix-redirect-uri.php:12
|
1955 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:25
|
1956 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:13
|
1957 |
+
msgid "Hit update to save the changes"
|
1958 |
+
msgstr "Haz clic en update para guardar los cambios"
|
1959 |
+
|
1960 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:17
|
1961 |
+
msgid "Locate the yellow \"Create application\" button and click on it."
|
1962 |
+
msgstr "Busca el botón amarillo \"Create application\" y haz click en el."
|
1963 |
+
|
1964 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:18
|
1965 |
+
msgid "Fill the fields marked with *"
|
1966 |
+
msgstr "Llena los campos marcados con *"
|
1967 |
+
|
1968 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:19
|
1969 |
+
#, php-format
|
1970 |
+
msgid "Fill \"Website URL\" with the url of your homepage, probably: <b>%s</b>"
|
1971 |
+
msgstr ""
|
1972 |
+
"Llena \"Website URL\" con la URL de tu página principal, probablemente: <b>"
|
1973 |
+
"%s</b>"
|
1974 |
+
|
1975 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:21
|
1976 |
+
msgid "Accept the Terms of use and hit Submit"
|
1977 |
+
msgstr "Acepta los Términos de Uso y da clic en Submit"
|
1978 |
+
|
1979 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:22
|
1980 |
+
msgid "Find the necessary Authentication Keys under the Authentication menu"
|
1981 |
+
msgstr "Busca las Authentication Keys abajo del menú Authentication"
|
1982 |
+
|
1983 |
+
#: nextend-social-login-pro/providers/linkedin/admin/getting-started.php:24
|
1984 |
+
msgid ""
|
1985 |
+
"You probably want to enable the \"r_emailaddress\" under the Default "
|
1986 |
+
"Application Permissions"
|
1987 |
+
msgstr ""
|
1988 |
+
"A lo mejor quieres habilitar el \"r_emailaddress\" abajo de los Default "
|
1989 |
+
"Application Permissions"
|
1990 |
+
|
1991 |
+
#: nextend-social-login-pro/providers/linkedin/linkedin.php:34
|
1992 |
+
msgid "Continue with <b>LinkedIn</b>"
|
1993 |
+
msgstr "Sigue con <b>LinkedIn</b>"
|
1994 |
+
|
1995 |
+
#: nextend-social-login-pro/providers/linkedin/linkedin.php:35
|
1996 |
+
msgid "Link account with <b>LinkedIn</b>"
|
1997 |
+
msgstr "Enlazar cuenta con <b>LinkedIn</b>"
|
1998 |
+
|
1999 |
+
#: nextend-social-login-pro/providers/linkedin/linkedin.php:36
|
2000 |
+
msgid "Unlink account from <b>LinkedIn</b>"
|
2001 |
+
msgstr "Desenlazar cuenta de <b>LinkedIn</b>"
|
2002 |
+
|
2003 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:10
|
2004 |
+
msgid "Click on the Manage button at the App"
|
2005 |
+
msgstr "Haz clic en el botón Manage en la App"
|
2006 |
+
|
2007 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:11
|
2008 |
+
msgid "Go to the Settings menu"
|
2009 |
+
msgstr "Ve al menú de Ajustes"
|
2010 |
+
|
2011 |
+
#: nextend-social-login-pro/providers/vk/admin/fix-redirect-uri.php:12
|
2012 |
+
#, php-format
|
2013 |
+
msgid ""
|
2014 |
+
"Add the following URL to the \"Authorized redirect URI:\" field: <b>%s</b>"
|
2015 |
+
msgstr ""
|
2016 |
+
"Agrega la siguiente URL al campo \"Authorized redirect URI\": <b>%s</b>"
|
2017 |
+
|
2018 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:17
|
2019 |
+
msgid "Locate the blue \"Create application\" button and click on it."
|
2020 |
+
msgstr "Busca el botón azul \"Create application\" y haz click en el."
|
2021 |
+
|
2022 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:18
|
2023 |
+
msgid "Enter the title of your app and select \"Websie\"."
|
2024 |
+
msgstr "Ingresa el título de tu app y selecciona \"Websie\"."
|
2025 |
+
|
2026 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:19
|
2027 |
+
#, php-format
|
2028 |
+
msgid ""
|
2029 |
+
"Fill \"Site address\" with the url of your homepage, probably: <b>%s</b>"
|
2030 |
+
msgstr ""
|
2031 |
+
"Llena \"Site address\" con la url de tu página principal, probablemente: <b>"
|
2032 |
+
"%s</b>"
|
2033 |
+
|
2034 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:20
|
2035 |
+
#, php-format
|
2036 |
+
msgid "Fill the \"Base domain\" field with your domain, probably: <b>%s</b>"
|
2037 |
+
msgstr ""
|
2038 |
+
"Llena el campo \"Base domain\" con tu dominio, probablemente: <b>%s</b>"
|
2039 |
+
|
2040 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:21
|
2041 |
+
msgid "When all fields are filled, create you app."
|
2042 |
+
msgstr "Cuando todos campos estén llenos, crea tu app."
|
2043 |
+
|
2044 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:22
|
2045 |
+
msgid ""
|
2046 |
+
"You'll be sent a confirmation code via SMS which you need to type to be able "
|
2047 |
+
"to create the app."
|
2048 |
+
msgstr ""
|
2049 |
+
"Se te enviará un código de confirmación a través de SMS que deberás utilizar "
|
2050 |
+
"para poder crear la app."
|
2051 |
+
|
2052 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:23
|
2053 |
+
msgid "Fill the form for your app and upload an app icon then hit Save."
|
2054 |
+
msgstr ""
|
2055 |
+
"Llena el formulario de tu app y carga un ícono de la app, luego haz clic en "
|
2056 |
+
"Guardar."
|
2057 |
+
|
2058 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:24
|
2059 |
+
msgid "Pick Settings at the left-hand menu "
|
2060 |
+
msgstr "Escoge Ajustes en el menú de la izquierda"
|
2061 |
+
|
2062 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:25
|
2063 |
+
#, php-format
|
2064 |
+
msgid ""
|
2065 |
+
"Add the following URL to the \"Authorized redirect URI\" field <b>%s</b> "
|
2066 |
+
msgstr ""
|
2067 |
+
"Agrega la siguiente URL al campo \"Authorized redirect URI\": <b>%s</b>"
|
2068 |
+
|
2069 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:26
|
2070 |
+
msgid "Save your app"
|
2071 |
+
msgstr "Guarda tu app"
|
2072 |
+
|
2073 |
+
#: nextend-social-login-pro/providers/vk/admin/getting-started.php:27
|
2074 |
+
msgid ""
|
2075 |
+
"Find the necessary Application ID and Secure key at the top of the Settings "
|
2076 |
+
"page where you just hit the save button."
|
2077 |
+
msgstr ""
|
2078 |
+
"Busca la Application ID y Secure key en la parte superior de la página "
|
2079 |
+
"Ajustes dónde acabas de hacer clic en el botón de guardar."
|
2080 |
+
|
2081 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:26
|
2082 |
+
msgid "Application ID"
|
2083 |
+
msgstr "Application ID"
|
2084 |
+
|
2085 |
+
#: nextend-social-login-pro/providers/vk/admin/settings.php:38
|
2086 |
+
msgid "Secure key"
|
2087 |
+
msgstr "Secure key"
|
2088 |
+
|
2089 |
+
#: nextend-social-login-pro/providers/vk/vk.php:34
|
2090 |
+
msgid "Continue with <b>VK</b>"
|
2091 |
+
msgstr "Sigue con <b>VK</b>"
|
2092 |
+
|
2093 |
+
#: nextend-social-login-pro/providers/vk/vk.php:35
|
2094 |
+
msgid "Link account with <b>VK</b>"
|
2095 |
+
msgstr "Enlazar cuenta con <b>VK</b>"
|
2096 |
+
|
2097 |
+
#: nextend-social-login-pro/providers/vk/vk.php:36
|
2098 |
+
msgid "Unlink account from <b>VK</b>"
|
2099 |
+
msgstr "Desenlazar cuenta de <b>VK</b>"
|
2100 |
+
|
2101 |
+
#: nextend-social-login-pro/template-parts/embedded-login/above-separator.php:8
|
2102 |
+
#: nextend-social-login-pro/template-parts/embedded-login/below-separator.php:8
|
2103 |
+
#: nextend-social-login-pro/template-parts/login/above-separator.php:10
|
2104 |
+
#: nextend-social-login-pro/template-parts/login/below-separator.php:14
|
2105 |
+
#: nextend-social-login-pro/template-parts/memberpress/login/above-separator.php:8
|
2106 |
+
#: nextend-social-login-pro/template-parts/memberpress/login/below-separator.php:8
|
2107 |
+
#: nextend-social-login-pro/template-parts/userpro/login/above-separator.php:8
|
2108 |
+
#: nextend-social-login-pro/template-parts/userpro/login/below-separator.php:8
|
2109 |
+
#: nextend-social-login-pro/template-parts/userpro/register/above-separator.php:8
|
2110 |
+
#: nextend-social-login-pro/template-parts/userpro/register/below-separator.php:8
|
2111 |
+
msgid "OR"
|
2112 |
+
msgstr "O"
|
2113 |
+
|
2114 |
+
#: nextend-social-login-pro/template-parts/memberpress/account-home.php:1
|
2115 |
+
#: nextend-social-login-pro/template-parts/woocommerce/edit-account-after.php:1
|
2116 |
+
#: nextend-social-login-pro/template-parts/woocommerce/edit-account-before.php:1
|
2117 |
+
msgid "Social accounts"
|
2118 |
+
msgstr "Cuentas sociales"
|
nextend-facebook-connect.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Nextend Social Login
|
4 |
Plugin URI: https://nextendweb.com/
|
5 |
Description: Nextend Social Login displays social login buttons for Facebook, Google and Twitter.
|
6 |
-
Version: 3.0.
|
7 |
Author: Nextendweb
|
8 |
License: GPL2
|
9 |
Text Domain: nextend-facebook-connect
|
3 |
Plugin Name: Nextend Social Login
|
4 |
Plugin URI: https://nextendweb.com/
|
5 |
Description: Nextend Social Login displays social login buttons for Facebook, Google and Twitter.
|
6 |
+
Version: 3.0.8
|
7 |
Author: Nextendweb
|
8 |
License: GPL2
|
9 |
Text Domain: nextend-facebook-connect
|
nextend-social-login.php
CHANGED
@@ -6,6 +6,8 @@ require_once dirname(__FILE__) . '/NSL/Persistent/Persistent.php';
|
|
6 |
require_once dirname(__FILE__) . '/NSL/Notices.php';
|
7 |
require_once dirname(__FILE__) . '/NSL/REST.php';
|
8 |
|
|
|
|
|
9 |
require_once(NSL_PATH . '/class-settings.php');
|
10 |
require_once(NSL_PATH . '/includes/provider.php');
|
11 |
require_once(NSL_PATH . '/admin/admin.php');
|
@@ -14,11 +16,15 @@ require_once(NSL_PATH . '/compat.php');
|
|
14 |
|
15 |
class NextendSocialLogin {
|
16 |
|
17 |
-
public static $version = '3.0.
|
|
|
|
|
18 |
|
19 |
-
public static $
|
20 |
|
21 |
public static function checkVersion() {
|
|
|
|
|
22 |
if (version_compare(self::$version, NextendSocialLoginPRO::$nslMinVersion, '<')) {
|
23 |
if (did_action('init')) {
|
24 |
NextendSocialLogin::noticeUpdateFree();
|
@@ -38,9 +44,33 @@ class NextendSocialLogin {
|
|
38 |
return false;
|
39 |
}
|
40 |
|
|
|
|
|
|
|
|
|
41 |
return true;
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
public static function noticeUpdateFree() {
|
45 |
if (is_admin() && current_user_can('manage_options')) {
|
46 |
$file = 'nextend-facebook-connect/nextend-facebook-connect.php';
|
@@ -55,6 +85,13 @@ class NextendSocialLogin {
|
|
55 |
}
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/** @var NextendSocialLoginSettings */
|
59 |
public static $settings;
|
60 |
|
@@ -74,6 +111,11 @@ class NextendSocialLogin {
|
|
74 |
*/
|
75 |
public static $providers = array();
|
76 |
|
|
|
|
|
|
|
|
|
|
|
77 |
/**
|
78 |
* @var NextendSocialProvider[]
|
79 |
*/
|
@@ -100,6 +142,8 @@ class NextendSocialLogin {
|
|
100 |
|
101 |
self::$settings = new NextendSocialLoginSettings('nextend_social_login', array(
|
102 |
'enabled' => array(),
|
|
|
|
|
103 |
'ordering' => array(
|
104 |
'facebook',
|
105 |
'google',
|
@@ -107,7 +151,12 @@ class NextendSocialLogin {
|
|
107 |
),
|
108 |
'license_key' => '',
|
109 |
'license_key_ok' => '0',
|
|
|
|
|
|
|
|
|
110 |
'avatar_store' => 1,
|
|
|
111 |
'redirect' => '',
|
112 |
'redirect_reg' => '',
|
113 |
'default_redirect' => '',
|
@@ -126,8 +175,11 @@ class NextendSocialLogin {
|
|
126 |
'buddypress_register_button' => 'bp_before_account_details_fields',
|
127 |
'buddypress_register_button_style' => 'default',
|
128 |
'woocommerce_login' => 'after',
|
|
|
129 |
'woocommerce_register' => 'after',
|
|
|
130 |
'woocommerce_billing' => 'before',
|
|
|
131 |
'woocoommerce_form_button_style' => 'default',
|
132 |
'woocommerce_account_details' => 'before',
|
133 |
|
@@ -145,6 +197,8 @@ class NextendSocialLogin {
|
|
145 |
'userpro_register_form_button_style' => 'default',
|
146 |
'userpro_login_form_layout' => 'below',
|
147 |
'userpro_register_form_layout' => 'below',
|
|
|
|
|
148 |
));
|
149 |
|
150 |
add_action('itsec_initialized', 'NextendSocialLogin::disable_better_wp_security_block_long_urls', -1);
|
@@ -155,6 +209,16 @@ class NextendSocialLogin {
|
|
155 |
public static function plugins_loaded() {
|
156 |
if (get_option('nsl-version') != self::$version) {
|
157 |
NextendSocialLogin::install();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
update_option('nsl-version', self::$version, true);
|
159 |
wp_redirect(set_url_scheme('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']));
|
160 |
exit;
|
@@ -184,6 +248,7 @@ class NextendSocialLogin {
|
|
184 |
|
185 |
self::$ordering = array_flip(self::$settings->get('ordering'));
|
186 |
uksort(self::$providers, 'NextendSocialLogin::sortProviders');
|
|
|
187 |
uksort(self::$enabledProviders, 'NextendSocialLogin::sortProviders');
|
188 |
|
189 |
do_action('nsl_providers_loaded');
|
@@ -195,6 +260,9 @@ class NextendSocialLogin {
|
|
195 |
|
196 |
add_action('login_form_unlink', 'NextendSocialLogin::login_form_unlink');
|
197 |
|
|
|
|
|
|
|
198 |
add_action('parse_request', 'NextendSocialLogin::editProfileRedirect');
|
199 |
|
200 |
if (count(self::$enabledProviders) > 0) {
|
@@ -269,20 +337,28 @@ class NextendSocialLogin {
|
|
269 |
|
270 |
if (!empty($_REQUEST['loginSocial'])) {
|
271 |
|
272 |
-
//Fix for all-in-one-wp-security-and-firewall
|
273 |
if (empty($_GET['action'])) {
|
274 |
$_GET['action'] = 'login';
|
275 |
}
|
276 |
|
277 |
-
//Fix for wps-hide-login
|
278 |
if (empty($_REQUEST['action'])) {
|
279 |
$_REQUEST['action'] = 'login';
|
280 |
}
|
281 |
|
282 |
-
//Fix for Social Rabbit as it catch our code response from Facebook
|
283 |
if (class_exists('\SR\Utils\Scheduled', true)) {
|
284 |
add_action('init', 'NextendSocialLogin::fixSocialRabbit', 0);
|
285 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
}
|
288 |
|
@@ -383,8 +459,6 @@ class NextendSocialLogin {
|
|
383 |
NextendSocialLogin::compatDeactivateTwitter();
|
384 |
add_action('activated_plugin', 'NextendSocialLogin::compatDeactivateTwitter');
|
385 |
}
|
386 |
-
|
387 |
-
update_option('nsl-version', self::$version, true);
|
388 |
}
|
389 |
|
390 |
public static function compatDeactivateGoogle() {
|
@@ -434,6 +508,10 @@ class NextendSocialLogin {
|
|
434 |
}
|
435 |
}
|
436 |
self::$providers[$provider->getId()] = $provider;
|
|
|
|
|
|
|
|
|
437 |
}
|
438 |
|
439 |
public static function enableProvider($providerID) {
|
@@ -463,6 +541,44 @@ class NextendSocialLogin {
|
|
463 |
return isset(self::$enabledProviders[$providerID]);
|
464 |
}
|
465 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
public static function login_form_login() {
|
467 |
self::$WPLoginCurrentView = 'login';
|
468 |
self::login_init();
|
@@ -494,6 +610,7 @@ class NextendSocialLogin {
|
|
494 |
|
495 |
if (isset($_GET['interim_login']) && $_GET['interim_login'] === 'nsl' && is_user_logged_in()) {
|
496 |
self::onInterimLoginSuccess();
|
|
|
497 |
}
|
498 |
|
499 |
if (isset($_REQUEST['loginFacebook']) && $_REQUEST['loginFacebook'] == '1') {
|
@@ -515,28 +632,7 @@ class NextendSocialLogin {
|
|
515 |
}
|
516 |
|
517 |
private static function onInterimLoginSuccess() {
|
518 |
-
|
519 |
-
do_action("login_form_login");
|
520 |
-
$customize_login = isset($_REQUEST['customize-login']);
|
521 |
-
if ($customize_login) {
|
522 |
-
wp_enqueue_script('customize-base');
|
523 |
-
}
|
524 |
-
|
525 |
-
$message = '<p class="message">' . __('You have logged in successfully.') . '</p>';
|
526 |
-
$interim_login = 'success';
|
527 |
-
login_header('', $message); ?>
|
528 |
-
</div>
|
529 |
-
<?php
|
530 |
-
/** This action is documented in wp-login.php */
|
531 |
-
do_action('login_footer'); ?>
|
532 |
-
<?php if ($customize_login) : ?>
|
533 |
-
<script type="text/javascript">setTimeout(function () {
|
534 |
-
new wp.customize.Messenger({url: '<?php echo wp_customize_url(); ?>', channel: 'login'}).send(
|
535 |
-
'login');
|
536 |
-
}, 1000);</script>
|
537 |
-
<?php endif; ?>
|
538 |
-
</body></html>
|
539 |
-
<?php exit;
|
540 |
}
|
541 |
|
542 |
public static function wp_login_errors($errors) {
|
@@ -797,14 +893,45 @@ class NextendSocialLogin {
|
|
797 |
return $currentUrl;
|
798 |
}
|
799 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
800 |
public static function isAllowedRedirectUrl($url) {
|
801 |
-
$loginUrl =
|
802 |
|
803 |
// If the currentUrl is the loginUrl, then we should not return it for redirects
|
804 |
if (strpos($url, $loginUrl) === 0) {
|
805 |
return false;
|
806 |
}
|
807 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
808 |
$registerUrl = wp_registration_url();
|
809 |
// If the currentUrl is the registerUrl, then we should not return it for redirects
|
810 |
if (strpos($url, $registerUrl) === 0) {
|
@@ -921,15 +1048,18 @@ class NextendSocialLogin {
|
|
921 |
'slug' => 'social',
|
922 |
'parent_url' => trailingslashit($user_domain . $settings_slug),
|
923 |
'parent_slug' => $settings_slug,
|
924 |
-
'screen_function' => '
|
925 |
'position' => 30,
|
926 |
'user_has_access' => bp_core_can_edit_settings()
|
927 |
), 'members');
|
928 |
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
|
|
|
|
|
|
933 |
}
|
934 |
|
935 |
public static function bp_template_title() {
|
@@ -944,6 +1074,33 @@ class NextendSocialLogin {
|
|
944 |
return \NSL\Persistent\Persistent::get('trackerdata');
|
945 |
}
|
946 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
947 |
}
|
948 |
|
949 |
NextendSocialLogin::init();
|
6 |
require_once dirname(__FILE__) . '/NSL/Notices.php';
|
7 |
require_once dirname(__FILE__) . '/NSL/REST.php';
|
8 |
|
9 |
+
require_once dirname(__FILE__) . '/NSL/GDPR.php';
|
10 |
+
|
11 |
require_once(NSL_PATH . '/class-settings.php');
|
12 |
require_once(NSL_PATH . '/includes/provider.php');
|
13 |
require_once(NSL_PATH . '/admin/admin.php');
|
16 |
|
17 |
class NextendSocialLogin {
|
18 |
|
19 |
+
public static $version = '3.0.8';
|
20 |
+
|
21 |
+
public static $nslPROMinVersion = '3.0.8';
|
22 |
|
23 |
+
public static $proxyPage = false;
|
24 |
|
25 |
public static function checkVersion() {
|
26 |
+
$isAuthorizedDomainChanged = NextendSocialLogin::isProAddonAuthorizedDomainChanged();
|
27 |
+
|
28 |
if (version_compare(self::$version, NextendSocialLoginPRO::$nslMinVersion, '<')) {
|
29 |
if (did_action('init')) {
|
30 |
NextendSocialLogin::noticeUpdateFree();
|
44 |
return false;
|
45 |
}
|
46 |
|
47 |
+
if ($isAuthorizedDomainChanged) {
|
48 |
+
return false;
|
49 |
+
}
|
50 |
+
|
51 |
return true;
|
52 |
}
|
53 |
|
54 |
+
public static function isProAddonAuthorizedDomainChanged() {
|
55 |
+
|
56 |
+
if (NextendSocialLogin::$settings->get('license_key_ok') == '1' && NextendSocialLogin::$settings->get('authorized_domain') != '') {
|
57 |
+
if (NextendSocialLogin::$settings->get('authorized_domain') != NextendSocialLogin::getDomain()) {
|
58 |
+
if (is_admin() && current_user_can('manage_options')) {
|
59 |
+
if (did_action('init')) {
|
60 |
+
NextendSocialLogin::noticeChangedDomain();
|
61 |
+
} else {
|
62 |
+
add_action('init', 'NextendSocialLogin::noticeChangedDomain');
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
return true;
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
return false;
|
71 |
+
}
|
72 |
+
|
73 |
+
|
74 |
public static function noticeUpdateFree() {
|
75 |
if (is_admin() && current_user_can('manage_options')) {
|
76 |
$file = 'nextend-facebook-connect/nextend-facebook-connect.php';
|
85 |
}
|
86 |
}
|
87 |
|
88 |
+
public static function noticeChangedDomain() {
|
89 |
+
if (is_admin() && current_user_can('manage_options')) {
|
90 |
+
// Your site domain name changed so you must authorize the Nextend Social Login Pro Addon again
|
91 |
+
\NSL\Notices::addError(sprintf(__('Your domain name changed so you must authorize %1$s again.', 'nextend-facebook-connect'), "Nextend Social Login Pro Addon") . ' <a class="button button-primary" href="' . NextendSocialLoginAdmin::getAdminUrl('domain-changed') . '">Authorize now</a>');
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
/** @var NextendSocialLoginSettings */
|
96 |
public static $settings;
|
97 |
|
111 |
*/
|
112 |
public static $providers = array();
|
113 |
|
114 |
+
/**
|
115 |
+
* @var NextendSocialProvider[]
|
116 |
+
*/
|
117 |
+
public static $allowedProviders = array();
|
118 |
+
|
119 |
/**
|
120 |
* @var NextendSocialProvider[]
|
121 |
*/
|
142 |
|
143 |
self::$settings = new NextendSocialLoginSettings('nextend_social_login', array(
|
144 |
'enabled' => array(),
|
145 |
+
'register-flow-page' => '',
|
146 |
+
'proxy-page' => '',
|
147 |
'ordering' => array(
|
148 |
'facebook',
|
149 |
'google',
|
151 |
),
|
152 |
'license_key' => '',
|
153 |
'license_key_ok' => '0',
|
154 |
+
'terms_show' => 0,
|
155 |
+
'terms' => __('By clicking Register, you accept our <a href="#privacy_policy_url" target="_blank">Privacy Policy</a>', 'nextend-facebook-connect'),
|
156 |
+
'store_name' => 1,
|
157 |
+
'store_email' => 1,
|
158 |
'avatar_store' => 1,
|
159 |
+
'store_access_token' => 1,
|
160 |
'redirect' => '',
|
161 |
'redirect_reg' => '',
|
162 |
'default_redirect' => '',
|
175 |
'buddypress_register_button' => 'bp_before_account_details_fields',
|
176 |
'buddypress_register_button_style' => 'default',
|
177 |
'woocommerce_login' => 'after',
|
178 |
+
'woocommerce_login_form_layout' => 'default',
|
179 |
'woocommerce_register' => 'after',
|
180 |
+
'woocommerce_register_form_layout' => 'default',
|
181 |
'woocommerce_billing' => 'before',
|
182 |
+
'woocommerce_billing_form_layout' => 'default',
|
183 |
'woocoommerce_form_button_style' => 'default',
|
184 |
'woocommerce_account_details' => 'before',
|
185 |
|
197 |
'userpro_register_form_button_style' => 'default',
|
198 |
'userpro_login_form_layout' => 'below',
|
199 |
'userpro_register_form_layout' => 'below',
|
200 |
+
|
201 |
+
'authorized_domain' => '',
|
202 |
));
|
203 |
|
204 |
add_action('itsec_initialized', 'NextendSocialLogin::disable_better_wp_security_block_long_urls', -1);
|
209 |
public static function plugins_loaded() {
|
210 |
if (get_option('nsl-version') != self::$version) {
|
211 |
NextendSocialLogin::install();
|
212 |
+
|
213 |
+
if (NextendSocialLogin::$settings->get('license_key_ok') == '1' && version_compare(get_option('nsl-version'), '3.0.6', '<=')) {
|
214 |
+
|
215 |
+
add_filter('nsl_update_settings_validate_nextend_social_login', 'NextendSocialLoginAdmin::validateSettings', 10, 2);
|
216 |
+
|
217 |
+
NextendSocialLogin::$settings->update(array(
|
218 |
+
'authorized_domain' => NextendSocialLogin::getDomain()
|
219 |
+
));
|
220 |
+
}
|
221 |
+
|
222 |
update_option('nsl-version', self::$version, true);
|
223 |
wp_redirect(set_url_scheme('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']));
|
224 |
exit;
|
248 |
|
249 |
self::$ordering = array_flip(self::$settings->get('ordering'));
|
250 |
uksort(self::$providers, 'NextendSocialLogin::sortProviders');
|
251 |
+
uksort(self::$allowedProviders, 'NextendSocialLogin::sortProviders');
|
252 |
uksort(self::$enabledProviders, 'NextendSocialLogin::sortProviders');
|
253 |
|
254 |
do_action('nsl_providers_loaded');
|
260 |
|
261 |
add_action('login_form_unlink', 'NextendSocialLogin::login_form_unlink');
|
262 |
|
263 |
+
|
264 |
+
add_action('template_redirect', 'NextendSocialLogin::alternate_login_page_template_redirect');
|
265 |
+
|
266 |
add_action('parse_request', 'NextendSocialLogin::editProfileRedirect');
|
267 |
|
268 |
if (count(self::$enabledProviders) > 0) {
|
337 |
|
338 |
if (!empty($_REQUEST['loginSocial'])) {
|
339 |
|
340 |
+
// Fix for all-in-one-wp-security-and-firewall
|
341 |
if (empty($_GET['action'])) {
|
342 |
$_GET['action'] = 'login';
|
343 |
}
|
344 |
|
345 |
+
// Fix for wps-hide-login
|
346 |
if (empty($_REQUEST['action'])) {
|
347 |
$_REQUEST['action'] = 'login';
|
348 |
}
|
349 |
|
350 |
+
// Fix for Social Rabbit as it catch our code response from Facebook
|
351 |
if (class_exists('\SR\Utils\Scheduled', true)) {
|
352 |
add_action('init', 'NextendSocialLogin::fixSocialRabbit', 0);
|
353 |
}
|
354 |
+
|
355 |
+
// Fix for Dokan https://wedevs.com/dokan/
|
356 |
+
if (function_exists('dokan_redirect_to_register')) {
|
357 |
+
remove_action('login_init', 'dokan_redirect_to_register', 10);
|
358 |
+
}
|
359 |
+
|
360 |
+
// Fix for Jetpack SSO
|
361 |
+
add_filter('jetpack_sso_bypass_login_forward_wpcom', '__return_false');
|
362 |
}
|
363 |
}
|
364 |
|
459 |
NextendSocialLogin::compatDeactivateTwitter();
|
460 |
add_action('activated_plugin', 'NextendSocialLogin::compatDeactivateTwitter');
|
461 |
}
|
|
|
|
|
462 |
}
|
463 |
|
464 |
public static function compatDeactivateGoogle() {
|
508 |
}
|
509 |
}
|
510 |
self::$providers[$provider->getId()] = $provider;
|
511 |
+
|
512 |
+
if ($provider instanceof NextendSocialProvider) {
|
513 |
+
self::$allowedProviders[$provider->getId()] = $provider;
|
514 |
+
}
|
515 |
}
|
516 |
|
517 |
public static function enableProvider($providerID) {
|
541 |
return isset(self::$enabledProviders[$providerID]);
|
542 |
}
|
543 |
|
544 |
+
public static function alternate_login_page_template_redirect() {
|
545 |
+
|
546 |
+
$isAlternatePage = ((self::getProxyPage() !== false && is_page(self::getProxyPage())) || (self::getRegisterFlowPage() !== false && is_page(self::getRegisterFlowPage())));
|
547 |
+
if ($isAlternatePage) {
|
548 |
+
nocache_headers();
|
549 |
+
|
550 |
+
if (!empty($_REQUEST['loginSocial'] || (isset($_GET['interim_login']) && $_GET['interim_login'] === 'nsl'))) {
|
551 |
+
|
552 |
+
$action = isset($_GET['action']) ? $_GET['action'] : 'login';
|
553 |
+
if (!in_array($action, array(
|
554 |
+
'login',
|
555 |
+
'register',
|
556 |
+
'link',
|
557 |
+
'unlink'
|
558 |
+
))) {
|
559 |
+
$action = 'login';
|
560 |
+
}
|
561 |
+
switch ($action) {
|
562 |
+
case 'login':
|
563 |
+
NextendSocialLogin::login_form_login();
|
564 |
+
break;
|
565 |
+
case 'register':
|
566 |
+
NextendSocialLogin::login_form_register();
|
567 |
+
break;
|
568 |
+
case 'link':
|
569 |
+
NextendSocialLogin::login_form_link();
|
570 |
+
break;
|
571 |
+
case 'unlink':
|
572 |
+
NextendSocialLogin::login_form_unlink();
|
573 |
+
break;
|
574 |
+
}
|
575 |
+
} else {
|
576 |
+
wp_redirect(site_url());
|
577 |
+
exit;
|
578 |
+
}
|
579 |
+
}
|
580 |
+
}
|
581 |
+
|
582 |
public static function login_form_login() {
|
583 |
self::$WPLoginCurrentView = 'login';
|
584 |
self::login_init();
|
610 |
|
611 |
if (isset($_GET['interim_login']) && $_GET['interim_login'] === 'nsl' && is_user_logged_in()) {
|
612 |
self::onInterimLoginSuccess();
|
613 |
+
|
614 |
}
|
615 |
|
616 |
if (isset($_REQUEST['loginFacebook']) && $_REQUEST['loginFacebook'] == '1') {
|
632 |
}
|
633 |
|
634 |
private static function onInterimLoginSuccess() {
|
635 |
+
require_once(NSL_PATH . '/admin/interim.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
636 |
}
|
637 |
|
638 |
public static function wp_login_errors($errors) {
|
893 |
return $currentUrl;
|
894 |
}
|
895 |
|
896 |
+
public static function getLoginUrl($scheme = null) {
|
897 |
+
static $alternateLoginPage = null;
|
898 |
+
if ($alternateLoginPage === null) {
|
899 |
+
$proxyPage = self::getProxyPage();
|
900 |
+
if ($proxyPage !== false) {
|
901 |
+
$alternateLoginPage = get_permalink($proxyPage);
|
902 |
+
}
|
903 |
+
if (empty($alternateLoginPage)) {
|
904 |
+
$alternateLoginPage = false;
|
905 |
+
}
|
906 |
+
}
|
907 |
+
|
908 |
+
if ($alternateLoginPage !== false) {
|
909 |
+
return $alternateLoginPage;
|
910 |
+
}
|
911 |
+
|
912 |
+
return site_url('wp-login.php', $scheme);
|
913 |
+
}
|
914 |
+
|
915 |
+
public static function getRegisterUrl() {
|
916 |
+
|
917 |
+
return wp_registration_url();
|
918 |
+
}
|
919 |
+
|
920 |
public static function isAllowedRedirectUrl($url) {
|
921 |
+
$loginUrl = self::getLoginUrl();
|
922 |
|
923 |
// If the currentUrl is the loginUrl, then we should not return it for redirects
|
924 |
if (strpos($url, $loginUrl) === 0) {
|
925 |
return false;
|
926 |
}
|
927 |
|
928 |
+
$loginUrl2 = site_url('wp-login.php');
|
929 |
+
|
930 |
+
// If the currentUrl is the loginUrl, then we should not return it for redirects
|
931 |
+
if ($loginUrl2 !== $loginUrl && strpos($url, $loginUrl2) === 0) {
|
932 |
+
return false;
|
933 |
+
}
|
934 |
+
|
935 |
$registerUrl = wp_registration_url();
|
936 |
// If the currentUrl is the registerUrl, then we should not return it for redirects
|
937 |
if (strpos($url, $registerUrl) === 0) {
|
1048 |
'slug' => 'social',
|
1049 |
'parent_url' => trailingslashit($user_domain . $settings_slug),
|
1050 |
'parent_slug' => $settings_slug,
|
1051 |
+
'screen_function' => 'NextendSocialLogin::bp_display_account_link',
|
1052 |
'position' => 30,
|
1053 |
'user_has_access' => bp_core_can_edit_settings()
|
1054 |
), 'members');
|
1055 |
|
1056 |
+
}
|
1057 |
+
|
1058 |
+
public static function bp_display_account_link() {
|
1059 |
+
|
1060 |
+
add_action('bp_template_title', 'NextendSocialLogin::bp_template_title');
|
1061 |
+
add_action('bp_template_content', 'NextendSocialLogin::bp_template_content');
|
1062 |
+
bp_core_load_template(apply_filters('bp_core_template_plugin', 'members/single/plugins'));
|
1063 |
}
|
1064 |
|
1065 |
public static function bp_template_title() {
|
1074 |
return \NSL\Persistent\Persistent::get('trackerdata');
|
1075 |
}
|
1076 |
|
1077 |
+
public static function getDomain() {
|
1078 |
+
return parse_url(site_url(), PHP_URL_HOST);
|
1079 |
+
}
|
1080 |
+
|
1081 |
+
public static function getRegisterFlowPage() {
|
1082 |
+
static $registerFlowPage = null;
|
1083 |
+
if ($registerFlowPage === null) {
|
1084 |
+
$registerFlowPage = intval(self::$settings->get('register-flow-page'));
|
1085 |
+
if (empty($registerFlowPage) || get_post($registerFlowPage) === null) {
|
1086 |
+
$registerFlowPage = false;
|
1087 |
+
}
|
1088 |
+
}
|
1089 |
+
|
1090 |
+
return $registerFlowPage;
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
public static function getProxyPage() {
|
1094 |
+
static $proxyPage = null;
|
1095 |
+
if ($proxyPage === null) {
|
1096 |
+
$proxyPage = intval(self::$settings->get('proxy-page'));
|
1097 |
+
if (empty($proxyPage) || get_post($proxyPage) === null) {
|
1098 |
+
$proxyPage = false;
|
1099 |
+
}
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
return $proxyPage;
|
1103 |
+
}
|
1104 |
}
|
1105 |
|
1106 |
NextendSocialLogin::init();
|
providers/facebook/facebook-client.php
CHANGED
@@ -3,7 +3,7 @@ require_once NSL_PATH . '/includes/oauth2.php';
|
|
3 |
|
4 |
class NextendSocialProviderFacebookClient extends NextendSocialOauth2 {
|
5 |
|
6 |
-
const DEFAULT_GRAPH_VERSION = 'v2.
|
7 |
|
8 |
|
9 |
protected $access_token_data = array(
|
3 |
|
4 |
class NextendSocialProviderFacebookClient extends NextendSocialOauth2 {
|
5 |
|
6 |
+
const DEFAULT_GRAPH_VERSION = 'v2.12';
|
7 |
|
8 |
|
9 |
protected $access_token_data = array(
|
providers/facebook/facebook.php
CHANGED
@@ -114,7 +114,7 @@ class NextendSocialProviderFacebook extends NextendSocialProvider {
|
|
114 |
|
115 |
$this->client->setClientId($this->settings->get('appid'));
|
116 |
$this->client->setClientSecret($this->settings->get('secret'));
|
117 |
-
$this->client->setRedirectUri($this->
|
118 |
}
|
119 |
|
120 |
return $this->client;
|
@@ -225,7 +225,8 @@ class NextendSocialProviderFacebook extends NextendSocialProvider {
|
|
225 |
}
|
226 |
|
227 |
}
|
228 |
-
|
|
|
229 |
}
|
230 |
|
231 |
protected function saveUserData($user_id, $key, $data) {
|
114 |
|
115 |
$this->client->setClientId($this->settings->get('appid'));
|
116 |
$this->client->setClientSecret($this->settings->get('secret'));
|
117 |
+
$this->client->setRedirectUri($this->getRedirectUri());
|
118 |
}
|
119 |
|
120 |
return $this->client;
|
225 |
}
|
226 |
|
227 |
}
|
228 |
+
|
229 |
+
$this->storeAccessToken($user_id, $access_token);
|
230 |
}
|
231 |
|
232 |
protected function saveUserData($user_id, $key, $data) {
|
providers/google/google.php
CHANGED
@@ -86,7 +86,7 @@ class NextendSocialProviderGoogle extends NextendSocialProvider {
|
|
86 |
|
87 |
$this->client->setClientId($this->settings->get('client_id'));
|
88 |
$this->client->setClientSecret($this->settings->get('client_secret'));
|
89 |
-
$this->client->setRedirectUri($this->
|
90 |
$this->client->setApprovalPrompt('auto');
|
91 |
}
|
92 |
|
@@ -132,7 +132,7 @@ class NextendSocialProviderGoogle extends NextendSocialProvider {
|
|
132 |
$this->updateAvatar($user_id, $this->getAuthUserData('picture'));
|
133 |
}
|
134 |
|
135 |
-
$this->
|
136 |
}
|
137 |
|
138 |
public function getState() {
|
86 |
|
87 |
$this->client->setClientId($this->settings->get('client_id'));
|
88 |
$this->client->setClientSecret($this->settings->get('client_secret'));
|
89 |
+
$this->client->setRedirectUri($this->getRedirectUri());
|
90 |
$this->client->setApprovalPrompt('auto');
|
91 |
}
|
92 |
|
132 |
$this->updateAvatar($user_id, $this->getAuthUserData('picture'));
|
133 |
}
|
134 |
|
135 |
+
$this->storeAccessToken($user_id, $access_token);
|
136 |
}
|
137 |
|
138 |
public function getState() {
|
providers/twitter/twitter.php
CHANGED
@@ -87,7 +87,7 @@ class NextendSocialProviderTwitter extends NextendSocialProvider {
|
|
87 |
|
88 |
$this->client = new NextendSocialProviderTwitterClient($this->id, $this->settings->get('consumer_key'), $this->settings->get('consumer_secret'));
|
89 |
|
90 |
-
$this->client->setRedirectUri($this->
|
91 |
}
|
92 |
|
93 |
return $this->client;
|
@@ -142,7 +142,7 @@ class NextendSocialProviderTwitter extends NextendSocialProvider {
|
|
142 |
$this->updateAvatar($user_id, $this->authUserData['profile_image_url_https']);
|
143 |
}
|
144 |
|
145 |
-
$this->
|
146 |
}
|
147 |
|
148 |
public function getState() {
|
87 |
|
88 |
$this->client = new NextendSocialProviderTwitterClient($this->id, $this->settings->get('consumer_key'), $this->settings->get('consumer_secret'));
|
89 |
|
90 |
+
$this->client->setRedirectUri($this->getRedirectUri());
|
91 |
}
|
92 |
|
93 |
return $this->client;
|
142 |
$this->updateAvatar($user_id, $this->authUserData['profile_image_url_https']);
|
143 |
}
|
144 |
|
145 |
+
$this->storeAccessToken($user_id, $access_token);
|
146 |
}
|
147 |
|
148 |
public function getState() {
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: social login, facebook, google, twitter, linkedin, register, login, social
|
|
4 |
Donate link: https://www.facebook.com/nextendweb
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 3.0.
|
8 |
Requires PHP: 5.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -62,10 +62,12 @@ After you activated the plugin configure and enable the provider you want to use
|
|
62 |
|
63 |
== Frequently Asked Questions ==
|
64 |
|
|
|
|
|
|
|
65 |
= 1. How can I get the email address from the Twitter users? =
|
66 |
After you set up your APP go to the Settings tab and enter the URL of your Terms of Service and Privacy Policy page. Then hit the Update your settings button. Then go to the Permissions tab and check the "Request email addresses from users" under "Additional Permissions". [There's a documentation](https://nextendweb.com/nextend-social-login-docs/provider-twitter/#get-email) that explains the process with screenshots.
|
67 |
|
68 |
-
|
69 |
= 2. Why are random email addresses generated for users registering with their FaceBook account? =
|
70 |
When the user tries to register with their Facebook account Facebook pops up a window where each user can view what kind of access they give for the app. In this modal they can chose not to share their email address. When they're doing so we generate a random email address for them. They can of course change this at their profile.
|
71 |
If the permission is given to the app, there are still [other factors](https://nextendweb.com/nextend-social-login-docs/provider-facebook/#get-email) which can result Facebook not sending back any email address.
|
@@ -112,6 +114,19 @@ Unfortunately, currently there are no BuddyPress specific settings. However your
|
|
112 |
|
113 |
== Changelog ==
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
= 3.0.7 =
|
116 |
* Feature: AJAX compatibility
|
117 |
* Feature: Default Redirect URL
|
4 |
Donate link: https://www.facebook.com/nextendweb
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 3.0.8
|
8 |
Requires PHP: 5.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
62 |
|
63 |
== Frequently Asked Questions ==
|
64 |
|
65 |
+
= Can I make my site GDPR compliant with Nextend Social Login installed? =
|
66 |
+
Sure, Nextend Social Login provides you the tools to make your site GDPR compliant. [Check out the Nextend Social Login GDPR documentation](https://nextendweb.com/nextend-social-login-docs/gdpr/) to learn more about the topic.
|
67 |
+
|
68 |
= 1. How can I get the email address from the Twitter users? =
|
69 |
After you set up your APP go to the Settings tab and enter the URL of your Terms of Service and Privacy Policy page. Then hit the Update your settings button. Then go to the Permissions tab and check the "Request email addresses from users" under "Additional Permissions". [There's a documentation](https://nextendweb.com/nextend-social-login-docs/provider-twitter/#get-email) that explains the process with screenshots.
|
70 |
|
|
|
71 |
= 2. Why are random email addresses generated for users registering with their FaceBook account? =
|
72 |
When the user tries to register with their Facebook account Facebook pops up a window where each user can view what kind of access they give for the app. In this modal they can chose not to share their email address. When they're doing so we generate a random email address for them. They can of course change this at their profile.
|
73 |
If the permission is given to the app, there are still [other factors](https://nextendweb.com/nextend-social-login-docs/provider-facebook/#get-email) which can result Facebook not sending back any email address.
|
114 |
|
115 |
== Changelog ==
|
116 |
|
117 |
+
= 3.0.8 =
|
118 |
+
* Feature: A page can be selected which handles the extra fields for Register flow.
|
119 |
+
* Feature: A page can be selected which handles the OAuth flow.
|
120 |
+
* Feature: Spanish (Latin America) translation added.
|
121 |
+
* Feature: GDPR - add custom Terms and conditions on register.
|
122 |
+
* Feature: GDPR - retrieved fields can now be exported with the Export Personal Data tool of WordPress.
|
123 |
+
* Fix: Jetpack - Secure Sign On
|
124 |
+
* Fix: Dokan - redirection
|
125 |
+
|
126 |
+
* PRO: Feature: Authorized domain name check and notice for changed domain name.
|
127 |
+
* PRO: Feature: Option to change the button layouts for WooCommerce login/register/billing forms.
|
128 |
+
* PRO: Feature: Sync LinkedId fields
|
129 |
+
|
130 |
= 3.0.7 =
|
131 |
* Feature: AJAX compatibility
|
132 |
* Feature: Default Redirect URL
|