PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / assets / js / st-trigger-button.js
suretriggers / assets / js Last commit date
st-rating.js 6 months ago st-trigger-button.js 1 year ago
st-trigger-button.js
62 lines
1 function st_get_cookie(cookieName) {
2 const regex = new RegExp(cookieName + '=([^;]+)');
3 const cookieValue = document.cookie.match(regex);
4 return cookieValue ? cookieValue[1] : null;
5 }
6
7 function st_trigger_ajax(element) {
8 var button = element;
9 button.disabled = true;
10 var form = button.closest("form");
11 var formData = new FormData(form);
12
13 var inputTriggerId = button.parentNode.querySelector('input[name="st_trigger_id"]');
14 var inputLoadingLabel = button.parentNode.querySelector('input[name="st_loading_label"]');
15 var inputClickedLabel = button.parentNode.querySelector('input[name="st_clicked_label"]');
16 var inputButtonLabel = button.parentNode.querySelector('input[name="st_button_label"]');
17 var inputUserId = button.parentNode.querySelector('input[name="st_user_id"]');
18
19 var cookiename = 'st_trigger_button_clicked_' + inputTriggerId.value;
20 var cookie = 'yes_' + inputUserId.value;
21 var cookieValue = st_get_cookie(cookiename);
22
23 if (cookieValue === null || cookieValue !== cookie) {
24 button.classList.add('st_trigger_button_loading');
25 if (inputLoadingLabel.value !== '') {
26 button.textContent = inputLoadingLabel.value;
27 }
28 var xhr = new XMLHttpRequest();
29 xhr.open('POST', st_ajax_object.ajax_url);
30 xhr.onreadystatechange = function() {
31 if (xhr.readyState === XMLHttpRequest.DONE) {
32 if (xhr.status === 200) {
33 button.classList.remove('st_trigger_button_loading');
34 button.disabled = false;
35 if (inputClickedLabel.value !== '') {
36 button.textContent = inputClickedLabel.value;
37 } else {
38 button.textContent = inputButtonLabel.value;
39 }
40 if( xhr.responseText != '' ){
41 var response = JSON.parse(xhr.responseText);
42 const parsed = new URL(response.data);
43 if (['http:', 'https:'].includes(parsed.protocol)) {
44 const redirectencodedURL = encodeURI(parsed.href);
45 try {
46 const redirectURL = decodeURI(redirectencodedURL);
47 window.location.href = redirectURL;
48 } catch (e) {
49 console.error(e);
50 }
51 }
52 }
53 }
54 }
55 };
56 xhr.send(formData);
57 } else {
58 if (inputClickedLabel.value !== '') {
59 button.textContent = inputClickedLabel.value;
60 }
61 }
62 }