PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.4
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.4
4.7.4 4.7.5 4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 All 95 releases
cookiebot / assets / js / backend / account-static.js

account-static.js in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.4, at assets/js/backend/account-static.js

76 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 const createFormData = (action, data = {}) => {
2 const formData = new FormData();
3 formData.append('action', action);
4 formData.append('nonce', cookiebot_account.nonce);
5
6 Object.entries(data).forEach(([key, value]) => {
7 formData.append(key, value);
8 });
9
10 return formData;
11 };
12
13 function canReload() {
14 const itemStr = localStorage.getItem('dashboard_reload');
15 const now = new Date();
16 const numTimes = 3;
17 const ttl = 30000;
18 let count = 0;
19
20 if (itemStr) {
21 const item = JSON.parse(itemStr);
22
23 if (now.getTime() < item.exp) {
24 if (item.count > numTimes) {
25 return false;
26 }
27 count = item.count + 1;
28 }
29 }
30
31 const newItem = {
32 count: count,
33 exp: now.getTime() + ttl,
34 }
35
36 localStorage.setItem('dashboard_reload', JSON.stringify(newItem));
37 return true;
38 }
39
40 document.addEventListener('DOMContentLoaded', async () => {
41 const urlParams = new URLSearchParams(window.location.search);
42 const ucApiCode = urlParams.get('uc_api_code');
43
44 if (ucApiCode && cookiebot_account.auth_expired_flow) {
45 try {
46 const response = await fetch(cookiebot_account.ajax_url, {
47 method: 'POST',
48 body: createFormData('cookiebot_process_auth_code', { code: ucApiCode }),
49 credentials: 'same-origin'
50 });
51
52 if (!response.ok) throw new Error(`Auth failed: ${response.status}`);
53 if (canReload()) {
54 const newUrl = new URL(window.location.href);
55 newUrl.searchParams.delete('uc_api_code');
56 newUrl.searchParams.delete('is_new_user');
57 window.location.href = newUrl;
58 }
59 return;
60 } catch (error) {
61 console.error('Failed to process authentication:', error);
62 return;
63 }
64 }
65 window.prevent_default = true;
66 });
67
68 document.getElementById('get-started-button-static-dashboard')?.addEventListener('click', async (e) => {
69 e.preventDefault();
70 try {
71 const callbackUrl = window.location.href;
72 window.location.href = `https://api.ea.prod.usercentrics.cloud/v1/auth/auth0/authorize?origin=wordpress_plugin&callback_domain=${encodeURIComponent(callbackUrl)}`;
73 } catch (error) {
74 console.error('Failed to start authentication process:', error);
75 }
76 });