Version Description
- GDPR consent management module added
- Updated Privacy policy
Download this release
Release Info
Developer | insertpostads |
Plugin | Insert Post Ads |
Version | 1.3.2 |
Comparing to | |
See all releases |
Code changes from version 1.3.1 to 1.3.2
- apis/vi/api.php +72 -1
- css/admin.css +15 -1
- css/gdpr.css +131 -0
- images/privacy.png +0 -0
- includes/gdpr.php +147 -0
- includes/vi-integration.php +8 -0
- insert-post-ads.php +3 -2
- js/admin.js +4 -0
- js/gdpr.js +197 -0
- readme.txt +26 -2
apis/vi/api.php
CHANGED
@@ -6,6 +6,7 @@ function insert_ads_vi_api_get_settings() {
|
|
6 |
$response = wp_remote_get('https://dashboard-api.vidint.net/v1/api/widget/settings', array('timeout' => 15));
|
7 |
if(!is_wp_error($response) && (200 == wp_remote_retrieve_response_code($response))) {
|
8 |
$responseBody = json_decode($response['body']);
|
|
|
9 |
if((json_last_error() == JSON_ERROR_NONE) && ($responseBody->status == 'ok')) {
|
10 |
$viSettings = array(
|
11 |
'signupURL' => $responseBody->data->signupURL,
|
@@ -17,7 +18,10 @@ function insert_ads_vi_api_get_settings() {
|
|
17 |
'revenueAPI' => $responseBody->data->revenueAPI,
|
18 |
'adsTxtAPI' => $responseBody->data->adsTxtAPI,
|
19 |
'languages' => $responseBody->data->languages,
|
20 |
-
'jsTagAPI' => $responseBody->data->jsTagAPI,
|
|
|
|
|
|
|
21 |
);
|
22 |
delete_transient('insert_ads_vi_api_settings');
|
23 |
set_transient('insert_ads_vi_api_settings', $viSettings, WEEK_IN_SECONDS);
|
@@ -32,6 +36,73 @@ function insert_ads_vi_api_get_settings() {
|
|
32 |
return $viSettings;
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
function insert_ads_vi_api_get_signupurl() {
|
36 |
$viSettings = insert_ads_vi_api_get_settings();
|
37 |
if(($viSettings != false) && is_array($viSettings)) {
|
6 |
$response = wp_remote_get('https://dashboard-api.vidint.net/v1/api/widget/settings', array('timeout' => 15));
|
7 |
if(!is_wp_error($response) && (200 == wp_remote_retrieve_response_code($response))) {
|
8 |
$responseBody = json_decode($response['body']);
|
9 |
+
//echo '<pre>'; print_r($responseBody->data); echo '</pre>';
|
10 |
if((json_last_error() == JSON_ERROR_NONE) && ($responseBody->status == 'ok')) {
|
11 |
$viSettings = array(
|
12 |
'signupURL' => $responseBody->data->signupURL,
|
18 |
'revenueAPI' => $responseBody->data->revenueAPI,
|
19 |
'adsTxtAPI' => $responseBody->data->adsTxtAPI,
|
20 |
'languages' => $responseBody->data->languages,
|
21 |
+
'jsTagAPI' => $responseBody->data->jsTagAPI,
|
22 |
+
'vendorListURL' => $responseBody->data->vendorListURL,
|
23 |
+
'vendorListVersion' => $responseBody->data->vendorListVersion,
|
24 |
+
'consentPopupContent' => $responseBody->data->consentPopupContent
|
25 |
);
|
26 |
delete_transient('insert_ads_vi_api_settings');
|
27 |
set_transient('insert_ads_vi_api_settings', $viSettings, WEEK_IN_SECONDS);
|
36 |
return $viSettings;
|
37 |
}
|
38 |
|
39 |
+
function insert_ads_vi_api_get_consent_purposes() {
|
40 |
+
$viSettings = insert_ads_vi_api_get_settings();
|
41 |
+
if(($viSettings != false) && is_array($viSettings)) {
|
42 |
+
return $viSettings['purposes'];
|
43 |
+
}
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
|
47 |
+
function insert_ads_vi_api_get_consent_popup_content() {
|
48 |
+
$viSettings = insert_ads_vi_api_get_settings();
|
49 |
+
if(($viSettings != false) && is_array($viSettings)) {
|
50 |
+
return $viSettings['consentPopupContent'];
|
51 |
+
}
|
52 |
+
return false;
|
53 |
+
}
|
54 |
+
|
55 |
+
function insert_ads_vi_api_get_vendor_list_version() {
|
56 |
+
$viSettings = insert_ads_vi_api_get_settings();
|
57 |
+
if(($viSettings != false) && is_array($viSettings)) {
|
58 |
+
return $viSettings['vendorListVersion'];
|
59 |
+
}
|
60 |
+
return false;
|
61 |
+
}
|
62 |
+
|
63 |
+
function insert_ads_vi_api_is_eu() {
|
64 |
+
//$userIp = $_SERVER["REMOTE_ADDR"];
|
65 |
+
$userIp = '185.216.33.82';
|
66 |
+
$isEU = get_transient('insert_ads_vi_api_is_eu_'.$userIp);
|
67 |
+
if($isEU === false) {
|
68 |
+
try{
|
69 |
+
$response = wp_remote_get(
|
70 |
+
'http://gdpr-check.net/gdpr/is-eu?ip='.$userIp,
|
71 |
+
array('timeout' => 15)
|
72 |
+
);
|
73 |
+
if(!is_wp_error($response)) {
|
74 |
+
if(200 == wp_remote_retrieve_response_code($response)) {
|
75 |
+
$responseBody = json_decode($response['body']);
|
76 |
+
if((json_last_error() == JSON_ERROR_NONE)) {
|
77 |
+
if((isset($responseBody->is_eu)) && ($responseBody->is_eu == '1')) {
|
78 |
+
delete_transient('insert_ads_vi_api_is_eu_'.$userIp);
|
79 |
+
set_transient('insert_ads_vi_api_is_eu_'.$userIp, '1', WEEK_IN_SECONDS);
|
80 |
+
return true;
|
81 |
+
} else {
|
82 |
+
delete_transient('insert_ads_vi_api_is_eu_'.$userIp);
|
83 |
+
set_transient('insert_ads_vi_api_is_eu_'.$userIp, '0', WEEK_IN_SECONDS);
|
84 |
+
return false;
|
85 |
+
}
|
86 |
+
} else {
|
87 |
+
return false;
|
88 |
+
}
|
89 |
+
} else {
|
90 |
+
return false;
|
91 |
+
}
|
92 |
+
}
|
93 |
+
} catch(Exception $ex) {
|
94 |
+
return false;
|
95 |
+
}
|
96 |
+
} else {
|
97 |
+
if($isEU == '1') {
|
98 |
+
return true;
|
99 |
+
} else {
|
100 |
+
return false;
|
101 |
+
}
|
102 |
+
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
function insert_ads_vi_api_get_signupurl() {
|
107 |
$viSettings = insert_ads_vi_api_get_settings();
|
108 |
if(($viSettings != false) && is_array($viSettings)) {
|
css/admin.css
CHANGED
@@ -86,7 +86,7 @@ div[aria-describedby="insert_ads_vi_signup_dialog"] .ui-dialog-titlebar button{
|
|
86 |
padding: 0px 55px;
|
87 |
font-size: 13px;
|
88 |
position: absolute;
|
89 |
-
bottom: -
|
90 |
line-height: 32px;
|
91 |
font-weight: bold;
|
92 |
left: -30px;
|
@@ -329,3 +329,17 @@ body.post-new-php.post-type-insertpostads #title{
|
|
329 |
}.insert_ads_popup_content_wrapper + .insert_ads_popup_content_wrapper{
|
330 |
display:none;
|
331 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
padding: 0px 55px;
|
87 |
font-size: 13px;
|
88 |
position: absolute;
|
89 |
+
bottom: -220px;
|
90 |
line-height: 32px;
|
91 |
font-weight: bold;
|
92 |
left: -30px;
|
329 |
}.insert_ads_popup_content_wrapper + .insert_ads_popup_content_wrapper{
|
330 |
display:none;
|
331 |
}
|
332 |
+
#insert_ads_vi_code_settings_show_gdpr_authorization + label{
|
333 |
+
background: #C8161B !important;
|
334 |
+
border: 2px solid #000 !important;
|
335 |
+
color: #fff !important;
|
336 |
+
display: block;
|
337 |
+
font-weight: bold !important;
|
338 |
+
height: 30px;
|
339 |
+
margin: 15px auto 0;
|
340 |
+
text-shadow: 1px 1px 5px #000;
|
341 |
+
width: 80%;
|
342 |
+
}
|
343 |
+
#insert_ads_vi_code_settings_show_gdpr_authorization + label.ui-state-active {
|
344 |
+
background: #6ddc5f !important;
|
345 |
+
}
|
css/gdpr.css
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#insert_ads_vi_consent_popup_overlay {
|
2 |
+
position: fixed;
|
3 |
+
left: 0;
|
4 |
+
right: 0;
|
5 |
+
top: 0;
|
6 |
+
bottom: 0;
|
7 |
+
background: rgba(0,0,0,0.5);
|
8 |
+
z-index: 10000;
|
9 |
+
}
|
10 |
+
|
11 |
+
#insert_ads_vi_consent_popup_wrapper {
|
12 |
+
max-width: 480px;
|
13 |
+
background: rgba(255,255,255,0.9);
|
14 |
+
padding: 30px 30px 30px;
|
15 |
+
position: fixed;
|
16 |
+
right: 0;
|
17 |
+
bottom: 0;
|
18 |
+
color: #000;
|
19 |
+
z-index: 10001;
|
20 |
+
}
|
21 |
+
|
22 |
+
#insert_ads_vi_consent_popup_wrapper h1 {
|
23 |
+
line-height: 42px;
|
24 |
+
font-weight: 400;
|
25 |
+
font-family: sans-serif,Helvetica,Arial;
|
26 |
+
font-size: 36px;
|
27 |
+
text-align: center;
|
28 |
+
margin: 0;
|
29 |
+
padding: 0;
|
30 |
+
border: none;
|
31 |
+
background: none;
|
32 |
+
color: #000;
|
33 |
+
}
|
34 |
+
|
35 |
+
#insert_ads_vi_consent_popup_wrapper p {
|
36 |
+
font-size: 14px;
|
37 |
+
font-family: sans-serif,Helvetica,Arial;
|
38 |
+
line-height: 20px;
|
39 |
+
margin: 10px 0 30px;
|
40 |
+
padding: 0;
|
41 |
+
border: none;
|
42 |
+
background: none;
|
43 |
+
color: #000;
|
44 |
+
text-align: justify;
|
45 |
+
font-weight: 400;
|
46 |
+
}
|
47 |
+
|
48 |
+
#insert_ads_vi_consent_popup_wrapper p a,
|
49 |
+
#insert_ads_vi_consent_popup_wrapper p a:hover {
|
50 |
+
font-size: 14px;
|
51 |
+
font-family: sans-serif,Helvetica,Arial;
|
52 |
+
line-height: 20px;
|
53 |
+
margin: 0;
|
54 |
+
padding: 0;
|
55 |
+
border: none;
|
56 |
+
background: none;
|
57 |
+
color: #000;
|
58 |
+
text-decoration: underline;
|
59 |
+
}
|
60 |
+
|
61 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_actions_wrapper {
|
62 |
+
text-align: center;
|
63 |
+
margin: 0 0 30px;
|
64 |
+
}
|
65 |
+
|
66 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_actions_wrapper #insert_ads_vi_consent_popup_disagree_btn,
|
67 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_actions_wrapper #insert_ads_vi_consent_popup_disagree_btn:hover {
|
68 |
+
cursor: pointer;
|
69 |
+
color: #000;
|
70 |
+
background: none;
|
71 |
+
border: none;
|
72 |
+
padding: 10px 30px;
|
73 |
+
text-align: center;
|
74 |
+
font-weight: 600;
|
75 |
+
font-size: 15px;
|
76 |
+
font-family: sans-serif,Helvetica,Arial;
|
77 |
+
margin: 0;
|
78 |
+
}
|
79 |
+
|
80 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_actions_wrapper #insert_ads_vi_consent_popup_agree_btn,
|
81 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_actions_wrapper #insert_ads_vi_consent_popup_agree_btn:hover {
|
82 |
+
cursor: pointer;
|
83 |
+
color: #000;
|
84 |
+
background: rgba(255, 242, 0, 1);
|
85 |
+
border: 2px solid rgba(255, 242, 0, 1);
|
86 |
+
padding: 10px 60px;
|
87 |
+
text-align: center;
|
88 |
+
font-weight: 600;
|
89 |
+
font-size: 15px;
|
90 |
+
font-family: sans-serif,Helvetica,Arial;
|
91 |
+
border-radius: 18px;
|
92 |
+
margin: 0;
|
93 |
+
}
|
94 |
+
|
95 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_links_wrapper {
|
96 |
+
text-align: center;
|
97 |
+
}
|
98 |
+
|
99 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_links_wrapper a,
|
100 |
+
#insert_ads_vi_consent_popup_wrapper #insert_ads_vi_consent_popup_links_wrapper a:hover {
|
101 |
+
color: #000;
|
102 |
+
background: none;
|
103 |
+
border: none;
|
104 |
+
padding: 10px;
|
105 |
+
text-align: center;
|
106 |
+
font-weight: 400;
|
107 |
+
font-size: 12px;
|
108 |
+
font-family: sans-serif,Helvetica,Arial;
|
109 |
+
margin: 0;
|
110 |
+
text-decoration: underline;
|
111 |
+
line-height: 24px;
|
112 |
+
}
|
113 |
+
|
114 |
+
#insert_ads_vi_consent_popup_settings_button {
|
115 |
+
font-size: 13px;
|
116 |
+
color: rgba(146, 135, 131, 1);
|
117 |
+
background: url(../images/privacy.png) no-repeat left center;
|
118 |
+
padding: 0 0 0 32px;
|
119 |
+
position: fixed;
|
120 |
+
bottom: 10px;
|
121 |
+
right: 10px;
|
122 |
+
cursor: pointer;
|
123 |
+
z-index: 10002;
|
124 |
+
font-family: sans-serif,Helvetica,Arial;
|
125 |
+
-webkit-touch-callout: none; /* iOS Safari */
|
126 |
+
-webkit-user-select: none; /* Safari */
|
127 |
+
-khtml-user-select: none; /* Konqueror HTML */
|
128 |
+
-moz-user-select: none; /* Firefox */
|
129 |
+
-ms-user-select: none; /* Internet Explorer/Edge */
|
130 |
+
user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
|
131 |
+
}
|
images/privacy.png
ADDED
Binary file
|
includes/gdpr.php
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* Begin Consent Popup */
|
3 |
+
add_action('init', 'insert_ads_vi_gdpr_popup_init');
|
4 |
+
function insert_ads_vi_gdpr_popup_init() {
|
5 |
+
$vicodeSettings = get_option('insert_ads_vi_code_settings');
|
6 |
+
if(isset($vicodeSettings['show_gdpr_authorization']) && wp_validate_boolean($vicodeSettings['show_gdpr_authorization']) ) {
|
7 |
+
add_action('wp_enqueue_scripts', 'insert_ads_vi_gdpr_popup_wp_enqueue_style');
|
8 |
+
add_action('wp_enqueue_scripts', 'insert_ads_vi_gdpr_popup_wp_enqueue_scripts');
|
9 |
+
add_action('wp_footer', 'insert_ads_vi_gdpr_popup_wp_footer');
|
10 |
+
}
|
11 |
+
}
|
12 |
+
|
13 |
+
function insert_ads_vi_gdpr_popup_wp_enqueue_style() {
|
14 |
+
wp_enqueue_style('insert_ads_vi_gdpr', '/wp-content/plugins/insert-post-ads/css/gdpr.css');
|
15 |
+
}
|
16 |
+
|
17 |
+
|
18 |
+
function insert_ads_vi_gdpr_popup_wp_enqueue_scripts() {
|
19 |
+
wp_enqueue_script('insert_ads_vi_gdpr', '/wp-content/plugins/insert-post-ads/js/gdpr.js');
|
20 |
+
}
|
21 |
+
|
22 |
+
function insert_ads_vi_gdpr_popup_wp_footer() {
|
23 |
+
$showViConsent = true;
|
24 |
+
$isEU = insert_ads_vi_api_is_eu();
|
25 |
+
if(isset($_COOKIE['Viconsent'])) {
|
26 |
+
$showViConsent = false;
|
27 |
+
}
|
28 |
+
$vicodeSettings = get_option('insert_ads_vi_code_settings');
|
29 |
+
$labels = array();
|
30 |
+
$viConsentPopupContent = insert_ads_vi_api_get_consent_popup_content();
|
31 |
+
if($viConsentPopupContent != false) {
|
32 |
+
switch($vicodeSettings['language']) {
|
33 |
+
case 'de-de':
|
34 |
+
$labels['popupContent'] = $viConsentPopupContent->es;
|
35 |
+
$labels['accept'] = 'acepto';
|
36 |
+
$labels['donotaccept'] = 'no acepto';
|
37 |
+
$labels['showPurposes'] = 'Mostrar propósitos';
|
38 |
+
$labels['showVendors'] = 'Mostrar vendedores';
|
39 |
+
|
40 |
+
break;
|
41 |
+
case 'fr-fr':
|
42 |
+
$labels['popupContent'] = $viConsentPopupContent->fr;
|
43 |
+
$labels['accept'] = 'J’accepte';
|
44 |
+
$labels['donotaccept'] = 'Je n’accepte pas';
|
45 |
+
$labels['showPurposes'] = 'Plus de details';
|
46 |
+
$labels['showVendors'] = 'Montrez les vendeurs';
|
47 |
+
break;
|
48 |
+
case 'en-us':
|
49 |
+
default:
|
50 |
+
$labels['popupContent'] = $viConsentPopupContent->en;
|
51 |
+
$labels['accept'] = 'I accept';
|
52 |
+
$labels['donotaccept'] = 'I do not accept';
|
53 |
+
$labels['showPurposes'] = 'Show purposes';
|
54 |
+
$labels['showVendors'] = 'Show vendors';
|
55 |
+
break;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
echo '<div id="insert_ads_vi_consent_popup_wrapper" style="display: none;">';
|
60 |
+
echo $labels['popupContent'];
|
61 |
+
echo '<div id="insert_ads_vi_consent_popup_actions_wrapper">';
|
62 |
+
echo '<input id="insert_ads_vi_consent_popup_disagree_btn" type="button" value="'.$labels['donotaccept'].'" onclick="insert_ads_vi_consent_popup_disagree()" />';
|
63 |
+
echo '<input id="insert_ads_vi_consent_popup_agree_btn" type="button" value="'.$labels['accept'].'" onclick="insert_ads_vi_consent_popup_agree()" />';
|
64 |
+
echo '</div>';
|
65 |
+
echo '<div id="insert_ads_vi_consent_popup_links_wrapper">';
|
66 |
+
echo '<a href="https://www.vi.ai/purposes" target="_blank">'.$labels['showPurposes'].'</a>';
|
67 |
+
echo '<a href="https://www.vi.ai/vendors" target="_blank">'.$labels['showVendors'].'</a>';
|
68 |
+
echo '</div>';
|
69 |
+
echo '<input id="insert_ads_vi_consent_popup_is_eu" type="hidden" value="'.$isEU.'" />';
|
70 |
+
echo '<input id="insert_ads_vi_consent_popup_url" type="hidden" value="'.get_bloginfo('url').'" />';
|
71 |
+
echo '<input id="insert_ads_vi_consent_popup_auth" type="hidden" value="'.wp_create_nonce('insert_ads_vi_consent').'" />';
|
72 |
+
echo '<input id="insert_ads_vi_consent_popup_vendor_list_version" type="hidden" value="'.insert_ads_vi_api_get_vendor_list_version().'" />';
|
73 |
+
$purposesBinary = '000000000000000000000000';
|
74 |
+
$purposes = insert_ads_vi_api_get_consent_purposes();
|
75 |
+
if(isset($purposes) && (count($purposes) > 0)) {
|
76 |
+
foreach($purposes as $purpose) {
|
77 |
+
$purposesBinary = substr_replace($purposesBinary, '1', ((24 - (int)$purpose->id) + 1), 1);
|
78 |
+
}
|
79 |
+
}
|
80 |
+
echo '<input id="insert_ads_vi_consent_popup_vendor_list_purposes" type="hidden" value="'.$purposesBinary.'" />';
|
81 |
+
echo '<input id="insert_ads_vi_consent_popup_vendor_list_vendors" type="hidden" value="999" />';
|
82 |
+
echo '</div>';
|
83 |
+
echo '<div id="insert_ads_vi_consent_popup_overlay" style="display: none;"></div>';
|
84 |
+
echo '<span id="insert_ads_vi_consent_popup_settings_button" onclick="insert_ads_vi_consent_popup_settings()" unselectable="on" style="display: none;">Privacy settings</span>';
|
85 |
+
}
|
86 |
+
/* End Consent Popup */
|
87 |
+
|
88 |
+
/* Begin Data Storage */
|
89 |
+
add_action('init', 'insert_ads_vi_gdpr_data_init');
|
90 |
+
function insert_ads_vi_gdpr_data_init() {
|
91 |
+
if(isset($_GET['insert_ads_vi_consent']) && ($_GET['insert_ads_vi_consent'] != '')) {
|
92 |
+
check_ajax_referer('insert_ads_vi_consent', 'insert_ads_vi_consent');
|
93 |
+
wp_insert_post(array(
|
94 |
+
'post_title' => date('c'),
|
95 |
+
'post_content' => ((isset($_COOKIE['Viconsent']))?$_COOKIE['Viconsent']:''),
|
96 |
+
'post_status' => 'publish',
|
97 |
+
'post_type' => 'viconsent',
|
98 |
+
));
|
99 |
+
die();
|
100 |
+
}
|
101 |
+
|
102 |
+
|
103 |
+
$labels = array(
|
104 |
+
'name' => 'VI Consent',
|
105 |
+
'singular_name' => 'VI Consent',
|
106 |
+
'add_new' => 'Add New',
|
107 |
+
'add_new_item' => 'Add New VI Consent',
|
108 |
+
'edit_item' => 'Edit VI Consent',
|
109 |
+
'new_item' => 'New VI Consent',
|
110 |
+
'view_item' => 'View VI Consent',
|
111 |
+
'search_items' => 'Search VI Consent',
|
112 |
+
'not_found' => 'No VI Consent found',
|
113 |
+
'not_found_in_trash' => 'No VI Consent found in Trash',
|
114 |
+
'parent_item_colon' => 'Parent VI Consent:',
|
115 |
+
'menu_name' => 'VI Consent',
|
116 |
+
);
|
117 |
+
|
118 |
+
$args = array(
|
119 |
+
'labels' => $labels,
|
120 |
+
'hierarchical' => false,
|
121 |
+
'description' => 'VI Consent',
|
122 |
+
'supports' => array('title', 'editor'),
|
123 |
+
'public' => false,
|
124 |
+
'show_ui' => true,
|
125 |
+
'show_in_menu' => false,
|
126 |
+
'show_in_nav_menus' => false,
|
127 |
+
'publicly_queryable' => false,
|
128 |
+
'exclude_from_search' => true,
|
129 |
+
'has_archive' => false,
|
130 |
+
'query_var' => false,
|
131 |
+
'can_export' => true,
|
132 |
+
'rewrite' => false,
|
133 |
+
'capability_type' => 'post'
|
134 |
+
);
|
135 |
+
|
136 |
+
register_post_type('viconsent', $args);
|
137 |
+
}
|
138 |
+
|
139 |
+
add_filter('user_can_richedit', 'insert_ads_vi_gdpr_data_user_can_richedit');
|
140 |
+
function insert_ads_vi_gdpr_data_user_can_richedit($default) {
|
141 |
+
if(get_post_type() === 'viconsent') {
|
142 |
+
return false;
|
143 |
+
}
|
144 |
+
return $default;
|
145 |
+
}
|
146 |
+
/* End Data Storage */
|
147 |
+
?>
|
includes/vi-integration.php
CHANGED
@@ -721,6 +721,12 @@ function insert_ads_vi_customize_adcode_form_get_content() {
|
|
721 |
$control->HTML .= '</div>';
|
722 |
$control->create_section(' vi Stories Settings ');
|
723 |
echo $control->HTML;
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
echo '<script type="text/javascript">';
|
725 |
echo $control->JS;
|
726 |
echo 'insert_ads_vi_code_iab_category_parent_change();';
|
@@ -744,6 +750,8 @@ function insert_ads_vi_customize_adcode_form_save_action() {
|
|
744 |
$vicodeSettings['optional_1'] = ((isset($_POST['insert_ads_vi_code_settings_optional_1']))?$_POST['insert_ads_vi_code_settings_optional_1']:'');
|
745 |
$vicodeSettings['optional_2'] = ((isset($_POST['insert_ads_vi_code_settings_optional_2']))?$_POST['insert_ads_vi_code_settings_optional_2']:'');
|
746 |
$vicodeSettings['optional_3'] = ((isset($_POST['insert_ads_vi_code_settings_optional_3']))?$_POST['insert_ads_vi_code_settings_optional_3']:'');
|
|
|
|
|
747 |
update_option('insert_ads_vi_code_settings', $vicodeSettings);
|
748 |
$viCodeStatus = insert_ads_vi_api_set_vi_code($vicodeSettings);
|
749 |
if(is_array($viCodeStatus) && (isset($viCodeStatus['status'])) && ($viCodeStatus['status'] == 'error')) {
|
721 |
$control->HTML .= '</div>';
|
722 |
$control->create_section(' vi Stories Settings ');
|
723 |
echo $control->HTML;
|
724 |
+
$control->clear_controls();
|
725 |
+
|
726 |
+
$control->HTML .= '<p>Enable GDPR Compliance confirmation notice on your site for visitors from EU.<br />If you disable this option make sure you are using a data usage authorization system on your website to remain GDPR complaint.</p>';
|
727 |
+
$control->add_control(array('type' => 'checkbox-button', 'label' => 'Status : Do not Show GDPR Authorization Popup', 'checkedLabel' => 'Status : Show GDPR Authorization Popup', 'uncheckedLabel' => 'Status : Do not Show GDPR Authorization Popup', 'optionName' => 'show_gdpr_authorization'));
|
728 |
+
$control->create_section(' vi stories: GDPR Compliance ');
|
729 |
+
echo $control->HTML;
|
730 |
echo '<script type="text/javascript">';
|
731 |
echo $control->JS;
|
732 |
echo 'insert_ads_vi_code_iab_category_parent_change();';
|
750 |
$vicodeSettings['optional_1'] = ((isset($_POST['insert_ads_vi_code_settings_optional_1']))?$_POST['insert_ads_vi_code_settings_optional_1']:'');
|
751 |
$vicodeSettings['optional_2'] = ((isset($_POST['insert_ads_vi_code_settings_optional_2']))?$_POST['insert_ads_vi_code_settings_optional_2']:'');
|
752 |
$vicodeSettings['optional_3'] = ((isset($_POST['insert_ads_vi_code_settings_optional_3']))?$_POST['insert_ads_vi_code_settings_optional_3']:'');
|
753 |
+
|
754 |
+
$vicodeSettings['show_gdpr_authorization'] = ((isset($_POST['insert_ads_vi_code_settings_show_gdpr_authorization']))?$_POST['insert_ads_vi_code_settings_show_gdpr_authorization']:'');
|
755 |
update_option('insert_ads_vi_code_settings', $vicodeSettings);
|
756 |
$viCodeStatus = insert_ads_vi_api_set_vi_code($vicodeSettings);
|
757 |
if(is_array($viCodeStatus) && (isset($viCodeStatus['status'])) && ($viCodeStatus['status'] == 'error')) {
|
insert-post-ads.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Insert Post Ads
|
4 |
* Plugin URI: http://www.insertpostads.com/
|
5 |
-
* Version: 1.3.
|
6 |
* Author: InsertPostAds
|
7 |
* Author URI: http://www.insertpostads.com/
|
8 |
* Description: Allows you to insert ads after paragraphs of your post content
|
@@ -39,7 +39,7 @@ class InsertPostAds {
|
|
39 |
$this->plugin->name = 'insert-post-ads'; // Plugin Folder
|
40 |
$this->plugin->displayName = 'Post Adverts'; // Plugin Name
|
41 |
$this->plugin->posttype = 'insertpostads';
|
42 |
-
$this->plugin->version = '1.3';
|
43 |
$this->plugin->folder = plugin_dir_path( __FILE__ );
|
44 |
$this->plugin->url = plugin_dir_url( __FILE__ );
|
45 |
$this->plugin->ads_screen_key = $this->plugin->name . '-ads-display-chosen-once';
|
@@ -613,6 +613,7 @@ require_once(dirname(__FILE__).'/includes/inpostads.php');
|
|
613 |
require_once(dirname(__FILE__).'/includes/rules.php');
|
614 |
require_once(dirname(__FILE__).'/includes/common.php');
|
615 |
require_once(dirname(__FILE__).'/includes/geotargeting.php');
|
|
|
616 |
require_once(dirname(__FILE__).'/adstxt.php');
|
617 |
require_once(dirname(__FILE__).'/includes/adstxt.php');
|
618 |
require_once(dirname(__FILE__).'/controls/controls.php');
|
2 |
/**
|
3 |
* Plugin Name: Insert Post Ads
|
4 |
* Plugin URI: http://www.insertpostads.com/
|
5 |
+
* Version: 1.3.2
|
6 |
* Author: InsertPostAds
|
7 |
* Author URI: http://www.insertpostads.com/
|
8 |
* Description: Allows you to insert ads after paragraphs of your post content
|
39 |
$this->plugin->name = 'insert-post-ads'; // Plugin Folder
|
40 |
$this->plugin->displayName = 'Post Adverts'; // Plugin Name
|
41 |
$this->plugin->posttype = 'insertpostads';
|
42 |
+
$this->plugin->version = '1.3.2';
|
43 |
$this->plugin->folder = plugin_dir_path( __FILE__ );
|
44 |
$this->plugin->url = plugin_dir_url( __FILE__ );
|
45 |
$this->plugin->ads_screen_key = $this->plugin->name . '-ads-display-chosen-once';
|
613 |
require_once(dirname(__FILE__).'/includes/rules.php');
|
614 |
require_once(dirname(__FILE__).'/includes/common.php');
|
615 |
require_once(dirname(__FILE__).'/includes/geotargeting.php');
|
616 |
+
require_once(dirname(__FILE__).'/includes/gdpr.php');
|
617 |
require_once(dirname(__FILE__).'/adstxt.php');
|
618 |
require_once(dirname(__FILE__).'/includes/adstxt.php');
|
619 |
require_once(dirname(__FILE__).'/controls/controls.php');
|
js/admin.js
CHANGED
@@ -917,6 +917,7 @@ function insert_ads_vi_customize_adcode() {
|
|
917 |
var insert_ads_vi_code_settings_optional_1 = jQuery('#insert_ads_vi_code_settings_optional_1').val();
|
918 |
var insert_ads_vi_code_settings_optional_2 = jQuery('#insert_ads_vi_code_settings_optional_2').val();
|
919 |
var insert_ads_vi_code_settings_optional_3 = jQuery('#insert_ads_vi_code_settings_optional_3').val();
|
|
|
920 |
jQuery('.ui-dialog-content').html('<div class="insert_ads_ajaxloader"></div>');
|
921 |
jQuery('.insert_ads_ajaxloader').show();
|
922 |
jQuery.post(
|
@@ -935,6 +936,7 @@ function insert_ads_vi_customize_adcode() {
|
|
935 |
'insert_ads_vi_code_settings_optional_1': insert_ads_vi_code_settings_optional_1,
|
936 |
'insert_ads_vi_code_settings_optional_2': insert_ads_vi_code_settings_optional_2,
|
937 |
'insert_ads_vi_code_settings_optional_3': insert_ads_vi_code_settings_optional_3,
|
|
|
938 |
}, function(response) {
|
939 |
if(response.indexOf('###SUCCESS###') !== -1) {
|
940 |
jQuery('.ui-dialog-titlebar').find('button').last().button('enable').click();
|
@@ -1246,6 +1248,7 @@ jQuery(document).ready(function() {
|
|
1246 |
var insert_ads_vi_code_settings_optional_1 = jQuery('#insert_ads_vi_code_settings_optional_1').val();
|
1247 |
var insert_ads_vi_code_settings_optional_2 = jQuery('#insert_ads_vi_code_settings_optional_2').val();
|
1248 |
var insert_ads_vi_code_settings_optional_3 = jQuery('#insert_ads_vi_code_settings_optional_3').val();
|
|
|
1249 |
var curLoc = jQuery('input[name="cur-pos-rad"]:checked').val();
|
1250 |
var disLoc = jQuery('input[name="cur-pos-rad"]').not(':checked').val();
|
1251 |
var curStat = jQuery('#insert_ads_inpostads_above_status').is(':checked') ? true : false;
|
@@ -1267,6 +1270,7 @@ jQuery(document).ready(function() {
|
|
1267 |
'insert_ads_vi_code_settings_optional_1': insert_ads_vi_code_settings_optional_1,
|
1268 |
'insert_ads_vi_code_settings_optional_2': insert_ads_vi_code_settings_optional_2,
|
1269 |
'insert_ads_vi_code_settings_optional_3': insert_ads_vi_code_settings_optional_3,
|
|
|
1270 |
}, function(response) {
|
1271 |
if(/*response.indexOf('###SUCCESS###') !== -1*/true) {
|
1272 |
jQuery('.ui-dialog-titlebar').find('button').last().button('enable').click();
|
917 |
var insert_ads_vi_code_settings_optional_1 = jQuery('#insert_ads_vi_code_settings_optional_1').val();
|
918 |
var insert_ads_vi_code_settings_optional_2 = jQuery('#insert_ads_vi_code_settings_optional_2').val();
|
919 |
var insert_ads_vi_code_settings_optional_3 = jQuery('#insert_ads_vi_code_settings_optional_3').val();
|
920 |
+
var insert_ads_vi_code_settings_show_gdpr_authorization = jQuery('#insert_ads_vi_code_settings_show_gdpr_authorization').prop('checked');
|
921 |
jQuery('.ui-dialog-content').html('<div class="insert_ads_ajaxloader"></div>');
|
922 |
jQuery('.insert_ads_ajaxloader').show();
|
923 |
jQuery.post(
|
936 |
'insert_ads_vi_code_settings_optional_1': insert_ads_vi_code_settings_optional_1,
|
937 |
'insert_ads_vi_code_settings_optional_2': insert_ads_vi_code_settings_optional_2,
|
938 |
'insert_ads_vi_code_settings_optional_3': insert_ads_vi_code_settings_optional_3,
|
939 |
+
'insert_ads_vi_code_settings_show_gdpr_authorization': insert_ads_vi_code_settings_show_gdpr_authorization,
|
940 |
}, function(response) {
|
941 |
if(response.indexOf('###SUCCESS###') !== -1) {
|
942 |
jQuery('.ui-dialog-titlebar').find('button').last().button('enable').click();
|
1248 |
var insert_ads_vi_code_settings_optional_1 = jQuery('#insert_ads_vi_code_settings_optional_1').val();
|
1249 |
var insert_ads_vi_code_settings_optional_2 = jQuery('#insert_ads_vi_code_settings_optional_2').val();
|
1250 |
var insert_ads_vi_code_settings_optional_3 = jQuery('#insert_ads_vi_code_settings_optional_3').val();
|
1251 |
+
var insert_ads_vi_code_settings_show_gdpr_authorization = jQuery('#insert_ads_vi_code_settings_show_gdpr_authorization').prop('checked');
|
1252 |
var curLoc = jQuery('input[name="cur-pos-rad"]:checked').val();
|
1253 |
var disLoc = jQuery('input[name="cur-pos-rad"]').not(':checked').val();
|
1254 |
var curStat = jQuery('#insert_ads_inpostads_above_status').is(':checked') ? true : false;
|
1270 |
'insert_ads_vi_code_settings_optional_1': insert_ads_vi_code_settings_optional_1,
|
1271 |
'insert_ads_vi_code_settings_optional_2': insert_ads_vi_code_settings_optional_2,
|
1272 |
'insert_ads_vi_code_settings_optional_3': insert_ads_vi_code_settings_optional_3,
|
1273 |
+
'insert_ads_vi_code_settings_show_gdpr_authorization': insert_ads_vi_code_settings_show_gdpr_authorization,
|
1274 |
}, function(response) {
|
1275 |
if(/*response.indexOf('###SUCCESS###') !== -1*/true) {
|
1276 |
jQuery('.ui-dialog-titlebar').find('button').last().button('enable').click();
|
js/gdpr.js
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Begin IAB API V 1.1 Implementation */
|
2 |
+
var __vicmp = (function () {
|
3 |
+
return typeof (__vicmp) == "function" ? __vicmp : function (c) {
|
4 |
+
var b = arguments;
|
5 |
+
if (!b.length) {
|
6 |
+
return __vicmp.a;
|
7 |
+
}
|
8 |
+
else if (c == '__vicmp') {
|
9 |
+
return false;
|
10 |
+
} else {
|
11 |
+
if (typeof __vicmp.a === 'undefined') {
|
12 |
+
__vicmp.a = [];
|
13 |
+
}
|
14 |
+
__vicmp.a.push([].slice.apply(b));
|
15 |
+
if(typeof __vicmp.execute != 'undefined') {
|
16 |
+
__vicmp.execute(b);
|
17 |
+
}
|
18 |
+
}
|
19 |
+
}
|
20 |
+
})();
|
21 |
+
|
22 |
+
function insert_ads_vi_consent_onload_cmp() {
|
23 |
+
if(typeof __vicmp.execute === 'undefined') {
|
24 |
+
__vicmp.execute = function(b) {
|
25 |
+
var data = {};
|
26 |
+
if(typeof b != 'undefined') {
|
27 |
+
if(b[0] == 'getUserConsentStatus') {
|
28 |
+
var ViconsentCookie = insert_ads_vi_consent_popup_get_cookie('Viconsent');
|
29 |
+
var gdprStatus = false;
|
30 |
+
if(document.getElementById('insert_ads_vi_consent_popup_is_eu').value == '1') {
|
31 |
+
gdprStatus = true;
|
32 |
+
}
|
33 |
+
if(ViconsentCookie != '') {
|
34 |
+
var ViconsentCookieData = insert_ads_vi_consent_popup_decode_cookie_content(ViconsentCookie);
|
35 |
+
data = {
|
36 |
+
gdprApplies: gdprStatus,
|
37 |
+
hasGlobalScope: false,
|
38 |
+
consent: ViconsentCookieData['PurposeAllowed'][1],
|
39 |
+
}
|
40 |
+
} else { // Cookie Missing / Corrupted
|
41 |
+
data = {
|
42 |
+
gdprApplies: gdprStatus,
|
43 |
+
hasGlobalScope: false,
|
44 |
+
consent: false,
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
b[2](data, true);
|
49 |
+
}
|
50 |
+
};
|
51 |
+
|
52 |
+
if(__vicmp.a && typeof func === 'undefined') {
|
53 |
+
for(var i=0; i<__vicmp.a.length;i++) {
|
54 |
+
__vicmp.execute(__vicmp.a[i]);
|
55 |
+
}
|
56 |
+
}
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
setTimeout(insert_ads_vi_consent_onload_cmp, 500);
|
61 |
+
/* End IAB API V 1.1 Implementation */
|
62 |
+
|
63 |
+
/* Begin Consent Cookie Implementation */
|
64 |
+
function insert_ads_vi_consent_popup_disagree() {
|
65 |
+
var cookieData = insert_ads_vi_consent_popup_create_cookie_content('000000000000000000000000');
|
66 |
+
insert_ads_vi_consent_popup_set_cookie('Viconsent', cookieData);
|
67 |
+
|
68 |
+
var ajaxFrame = document.createElement('iframe');
|
69 |
+
ajaxFrame.src = document.getElementById('insert_ads_vi_consent_popup_url').value + '?insert_ads_vi_consent=' + document.getElementById('insert_ads_vi_consent_popup_auth').value;
|
70 |
+
ajaxFrame.style.display = 'none';
|
71 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').appendChild(ajaxFrame);
|
72 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'none';
|
73 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'none';
|
74 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'block';
|
75 |
+
}
|
76 |
+
|
77 |
+
function insert_ads_vi_consent_popup_agree() {
|
78 |
+
var insert_ads_vi_consent_popup_vendor_list_purposes = document.getElementById('insert_ads_vi_consent_popup_vendor_list_purposes').value;
|
79 |
+
var cookieData = insert_ads_vi_consent_popup_create_cookie_content(insert_ads_vi_consent_popup_vendor_list_purposes);
|
80 |
+
insert_ads_vi_consent_popup_set_cookie('Viconsent', cookieData);
|
81 |
+
|
82 |
+
var ajaxFrame = document.createElement('iframe');
|
83 |
+
ajaxFrame.src = document.getElementById('insert_ads_vi_consent_popup_url').value + '?insert_ads_vi_consent=' + document.getElementById('insert_ads_vi_consent_popup_auth').value;
|
84 |
+
ajaxFrame.style.display = 'none';
|
85 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').appendChild(ajaxFrame);
|
86 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'none';
|
87 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'none';
|
88 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'block';
|
89 |
+
}
|
90 |
+
|
91 |
+
function insert_ads_vi_consent_popup_create_cookie_content(purposeAllowed) {
|
92 |
+
cookieConsentTimeStamp = Math.round((new Date()).getTime()/100);
|
93 |
+
var cookieConsent = new Object();
|
94 |
+
cookieConsent['Version'] = insert_ads_vi_consent_popup_create_binary_string(1, 6);
|
95 |
+
cookieConsent['Created'] = insert_ads_vi_consent_popup_create_binary_string(cookieConsentTimeStamp, 36);
|
96 |
+
cookieConsent['LastUpdated'] = insert_ads_vi_consent_popup_create_binary_string(cookieConsentTimeStamp, 36);
|
97 |
+
cookieConsent['CMPId'] = insert_ads_vi_consent_popup_create_binary_string(999, 12);
|
98 |
+
cookieConsent['CMPVersion'] = insert_ads_vi_consent_popup_create_binary_string(0, 6);
|
99 |
+
cookieConsent['ConsentScreen'] = insert_ads_vi_consent_popup_create_binary_string(0, 6);
|
100 |
+
cookieConsent['ConsentLanguage'] = insert_ads_vi_consent_popup_create_binary_string(4, 6)+insert_ads_vi_consent_popup_create_binary_string(13, 6);
|
101 |
+
var insert_ads_vi_consent_popup_vendor_list_version = parseInt(document.getElementById('insert_ads_vi_consent_popup_vendor_list_version').value);
|
102 |
+
cookieConsent['VendorListVersion'] = insert_ads_vi_consent_popup_create_binary_string(insert_ads_vi_consent_popup_vendor_list_version, 12);
|
103 |
+
cookieConsent['PurposeAllowed'] = purposeAllowed;
|
104 |
+
|
105 |
+
return window.btoa(cookieConsent['Version'] + cookieConsent['Created'] + cookieConsent['LastUpdated'] + cookieConsent['CMPId'] + cookieConsent['CMPVersion'] + cookieConsent['ConsentScreen'] + cookieConsent['ConsentLanguage'] + cookieConsent['VendorListVersion'] + cookieConsent['PurposeAllowed']);
|
106 |
+
}
|
107 |
+
|
108 |
+
function insert_ads_vi_consent_popup_decode_cookie_content(cookieData) {
|
109 |
+
if(cookieData != '') {
|
110 |
+
var binaryCookieData = atob(cookieData);
|
111 |
+
var cookieConsent = new Object();
|
112 |
+
cookieConsent['Version'] = parseInt(binaryCookieData.substring(0, 6), 2);
|
113 |
+
cookieConsent['Created'] = parseInt(binaryCookieData.substring(6, 42), 2);
|
114 |
+
cookieConsent['LastUpdated'] = parseInt(binaryCookieData.substring(42, 78), 2);
|
115 |
+
cookieConsent['CMPId'] = parseInt(binaryCookieData.substring(78, 90), 2);
|
116 |
+
cookieConsent['CMPVersion'] = parseInt(binaryCookieData.substring(90, 96), 2);
|
117 |
+
cookieConsent['ConsentScreen'] = parseInt(binaryCookieData.substring(96, 102), 2);
|
118 |
+
cookieConsent['ConsentLanguage'] = parseInt(binaryCookieData.substring(102, 108), 2)+''+parseInt(binaryCookieData.substring(106, 114), 2);
|
119 |
+
cookieConsent['VendorListVersion'] = parseInt(binaryCookieData.substring(114,126), 2);
|
120 |
+
cookieConsent['PurposeAllowed'] = binaryCookieData.substring(126, 150);
|
121 |
+
|
122 |
+
var purposeConsents = new Object();
|
123 |
+
for(var i = 24; i > 0; i--) {
|
124 |
+
if(cookieConsent['PurposeAllowed'].substring(i - 1, i) == '1') {
|
125 |
+
purposeConsents[(24 - i) + 1] = true;
|
126 |
+
} else {
|
127 |
+
purposeConsents[(24 - i) + 1] = false;
|
128 |
+
}
|
129 |
+
}
|
130 |
+
cookieConsent['PurposeAllowed'] = purposeConsents;
|
131 |
+
return cookieConsent;
|
132 |
+
}
|
133 |
+
return false;
|
134 |
+
}
|
135 |
+
|
136 |
+
function insert_ads_vi_consent_popup_create_binary_string(dMask, dBitSize) {
|
137 |
+
var bMask = "";
|
138 |
+
if(dBitSize <= 32) {
|
139 |
+
while(dBitSize--) {
|
140 |
+
bMask += (dMask >> dBitSize) & 1;
|
141 |
+
}
|
142 |
+
} else {
|
143 |
+
bMask = dMask.toString(2);
|
144 |
+
while (bMask.length < dBitSize) {
|
145 |
+
bMask = "0" + bMask;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
return bMask;
|
149 |
+
}
|
150 |
+
|
151 |
+
function insert_ads_vi_consent_popup_set_cookie(name, value) {
|
152 |
+
var date = new Date();
|
153 |
+
date.setTime(date.getTime() + (365*24*60*60*1000));
|
154 |
+
document.cookie = name + "=" + value + ";" + "expires=" + date.toUTCString() + ";path=/";
|
155 |
+
}
|
156 |
+
|
157 |
+
function insert_ads_vi_consent_popup_get_cookie(cookieName) {
|
158 |
+
var name = cookieName + "=";
|
159 |
+
var decodedCookie = decodeURIComponent(document.cookie);
|
160 |
+
var ca = decodedCookie.split(';');
|
161 |
+
for(var i = 0; i <ca.length; i++) {
|
162 |
+
var c = ca[i];
|
163 |
+
while (c.charAt(0) == ' ') {
|
164 |
+
c = c.substring(1);
|
165 |
+
}
|
166 |
+
if (c.indexOf(name) == 0) {
|
167 |
+
return c.substring(name.length, c.length);
|
168 |
+
}
|
169 |
+
}
|
170 |
+
return "";
|
171 |
+
}
|
172 |
+
|
173 |
+
function insert_ads_vi_consent_popup_settings() {
|
174 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'block';
|
175 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'block';
|
176 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'none';
|
177 |
+
}
|
178 |
+
|
179 |
+
function insert_ads_vi_consent_popup_load() {
|
180 |
+
if(document.getElementById('insert_ads_vi_consent_popup_is_eu').value == true) {
|
181 |
+
if(insert_ads_vi_consent_popup_get_cookie('Viconsent') == false) {
|
182 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'block';
|
183 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'block';
|
184 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'none';
|
185 |
+
} else {
|
186 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'none';
|
187 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'none';
|
188 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'block';
|
189 |
+
}
|
190 |
+
} else {
|
191 |
+
document.getElementById('insert_ads_vi_consent_popup_wrapper').style.display = 'none';
|
192 |
+
document.getElementById('insert_ads_vi_consent_popup_overlay').style.display = 'none';
|
193 |
+
document.getElementById('insert_ads_vi_consent_popup_settings_button').style.display = 'none';
|
194 |
+
}
|
195 |
+
}
|
196 |
+
setTimeout(insert_ads_vi_consent_popup_load, 500);
|
197 |
+
/* End Consent Cookie Implementation */
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: insertpostads
|
3 |
Tags: ad injection, ads, ads plugin, adsense, adsense injection, google adsense, insert ads in post, insert post ads, wordpress ads plugin, advertising plugin, banners plugin, post ads
|
4 |
Requires at least: 3.6
|
5 |
-
Tested up to: 4.9.
|
6 |
-
Stable tag: 1.3.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -68,6 +68,10 @@ I feel that we have done that here. I hope you enjoy using Insert Post Ads.
|
|
68 |
Thank you
|
69 |
|
70 |
== Changelog ==
|
|
|
|
|
|
|
|
|
71 |
= 1.3.1 =
|
72 |
* Bug fixes
|
73 |
|
@@ -116,3 +120,23 @@ Read the FAQ: https://www.vi.ai/frequently-asked-questions-vi-stories-for-wordpr
|
|
116 |
|
117 |
= 1.0 =
|
118 |
* First release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Contributors: insertpostads
|
3 |
Tags: ad injection, ads, ads plugin, adsense, adsense injection, google adsense, insert ads in post, insert post ads, wordpress ads plugin, advertising plugin, banners plugin, post ads
|
4 |
Requires at least: 3.6
|
5 |
+
Tested up to: 4.9.6
|
6 |
+
Stable tag: 1.3.2
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
68 |
Thank you
|
69 |
|
70 |
== Changelog ==
|
71 |
+
= 1.3.2 =
|
72 |
+
* GDPR consent management module added
|
73 |
+
* Updated Privacy policy
|
74 |
+
|
75 |
= 1.3.1 =
|
76 |
* Bug fixes
|
77 |
|
120 |
|
121 |
= 1.0 =
|
122 |
* First release
|
123 |
+
|
124 |
+
== Privacy Policy ==
|
125 |
+
|
126 |
+
Users privacy is very important to us and we make extra effort not to collect data about the users to the maximum extend possible.
|
127 |
+
However to provide enhanced functionality we utilize the APIs from different third party services as listed below and the usage of those API are in accordance with their privacy policies.
|
128 |
+
|
129 |
+
= Geo Targeting =
|
130 |
+
|
131 |
+
To enable Geo Targeting functionality for Ads we have to send the visitor IP address to a third party service (http://freegeoip.net/ OR https://ipstack.com/) and the usage of thier API is in accordance to their privacy policy located at https://ipstack.com/privacy/.
|
132 |
+
This third party API is utilized only when you enable or use Geo Targetting features in the plugin admin.
|
133 |
+
|
134 |
+
= video intelligence =
|
135 |
+
|
136 |
+
The plugin provides deep integration with video intelligence to provide enhanced features and for easy integration with their services.
|
137 |
+
This third party API and features are utilized only when you enable or use video inteligence related features in the plugin admin and the usage of thier API and features are in accordance to their privacy policy.
|
138 |
+
|
139 |
+
video intelligence ("vi") as a third party, needs to process the user's technical data such as cookie ID, IP Address, Geo-Location and Device ID to personalize content and advertising and analyse our traffic.
|
140 |
+
You can find below a link vi's Legal webpage where there are transparently presented all GDPR relevant information.
|
141 |
+
Please access the link to check vi's Privacy Policy, Terms&Conditions pages, Opt Out Mechanism, Vendor and Purposes lists.
|
142 |
+
https://www.vi.ai/legals/
|