Files
b2b.redline.com.pl/modules/wkonepagecheckout/views/js/wkcheckout_social_login.js
2025-06-24 14:14:35 +02:00

121 lines
3.9 KiB
JavaScript

/**
* 2010-2020 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2020 Webkul IN
* @license https://store.webkul.com/license.html
*/
if ((typeof wk_fb_app_id !== 'undefined' && typeof wk_fb_secret_key !== 'undefined') && typeof is_logged === 'undefined') {
window.fbAsyncInit = function() {
// FB JavaScript SDK configuration and setup
FB.init({
appId: wk_fb_app_id, // FB App ID
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse social plugins on this page
version: 'v2.8' // use graph api version 2.8
});
};
// Load the JavaScript SDK asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
// Facebook login with JavaScript SDK
function fbLogin() {
if (typeof FB != 'undefined') {
FB.login(function(response) {
if (response.authResponse) {
// Get and display the user profile data
getFbUserData();
} else {
showErrorMsg(user_cancel);
//document.getElementById('status').innerHTML = user_cancel;
}
}, { scope: 'email' });
} else {
showErrorMsg(fbConnectionError);
}
}
// Fetch the user profile data from facebook
function getFbUserData() {
FB.api('/me', { locale: 'en_US', fields: 'id,first_name,last_name,email,gender,locale' },
function(response) {
var isValidated = validateFacebookResponse(response);
if (isValidated == true) {
proceedLogin(response.first_name, response.last_name, response.email);
}
});
}
function validateFacebookResponse(response) {
if (!response.first_name || response.first_name === 'undefined') {
deleteFacebookPermissions();
showErrorMsg(error_fname);
} else if (!response.last_name || response.last_name === 'undefined') {
deleteFacebookPermissions();
showErrorMsg(error_lname);
} else if (!response.email || response.email === 'undefined') {
deleteFacebookPermissions();
showErrorMsg(error_email);
} else {
return true;
}
return false;
}
function deleteFacebookPermissions() {
FB.api("/me/permissions", "DELETE");
}
}
function showErrorMsg(msg) {
$.growl.error({ title: "", message: msg });
}
function showSuccessMsg(msg) {
$.growl.error({ title: "", message: msg });
}
function proceedLogin(first_name, last_name, email) {
if (first_name && last_name && email) {
$.ajax({
type: "POST",
url: wkcheckout,
async: false,
dataType: 'json',
data: {
ajax: true,
action: 'proceedLogin',
first_name: first_name,
last_name: last_name,
email: email,
token: wktoken,
},
success: function(result) {
if (result == '1') {
window.location.reload(true);
}
}
});
}
}