| @@ -30,8 +30,10 @@ | ||
| 30 | 30 | 'cookieadmin-scan-cookies', |
| 31 | 31 | 'cookieadmin-consent', |
| 32 | 32 | 'cookieadmin-consent-logs', |
| 33 | 33 | 'cookieadmin-license', |
| 34 | + 'cookieadmin-do-not-sell', | |
| 35 | + 'cookieadmin-dpdp' | |
| 34 | 36 | ]; |
| 35 | 37 | |
| 36 | 38 | if(empty($current_page) || !in_array($current_page, $plugin_pages)){ |
| 37 | 39 | return true; |
| @@ -61,8 +63,12 @@ | ||
| 61 | 63 | $policy['lang']['show_less'] = __('Show less', 'cookieadmin'); |
| 62 | 64 | $policy['lang']['days'] = __('Day(s)', 'cookieadmin'); |
| 63 | 65 | $policy['lang']['session'] = __('Session', 'cookieadmin'); |
| 64 | 66 | $policy['lang']['scan_completed'] = __('Scan completed', 'cookieadmin'); |
| 67 | + $policy['lang']['processing'] = __('Processing...', 'cookieadmin'); | |
| 68 | + $policy['lang']['active'] = __('Active', 'cookieadmin'); | |
| 69 | + $policy['lang']['install_failed'] = __('Installation failed. Please try again.', 'cookieadmin'); | |
| 70 | + $policy['lang']['error_occurred'] = __('An error occurred. Please try again.', 'cookieadmin'); | |
| 65 | 71 | |
| 66 | 72 | wp_localize_script('cookieadmin_js', 'cookieadmin_policy', $policy); |
| 67 | 73 | } |
| 68 | 74 | |
| @@ -103,8 +109,17 @@ | ||
| 103 | 109 | |
| 104 | 110 | if(defined('COOKIEADMIN_PREMIUM')){ |
| 105 | 111 | add_submenu_page('cookieadmin', __('Consent Logs', 'cookieadmin'), __('Consent Logs', 'cookieadmin'), $capability, 'cookieadmin-consent-logs', '\CookieAdminPro\Admin::show_consent_logs'); |
| 106 | 112 | |
| 113 | + // GEO Targeting | |
| 114 | + add_submenu_page('cookieadmin', __('Geo Targeting', 'cookieadmin'), __('Geo Targeting', 'cookieadmin'), $capability, 'cookieadmin-geo-targeting', '\CookieAdminPro\Admin\Geo::geo_admin_page'); | |
| 115 | + | |
| 116 | + // Do Not Sell menu | |
| 117 | + add_submenu_page('cookieadmin', __('Do Not Sell Requests', 'cookieadmin'), __('Do Not Sell', 'cookieadmin'), $capability, 'cookieadmin-do-not-sell', '\CookieAdminPro\Admin\DoNotSell::do_not_sell_requests'); | |
| 118 | + | |
| 119 | + // DPDP (India) Data Principal Requests menu | |
| 120 | + add_submenu_page('cookieadmin', __('DPDP Requests', 'cookieadmin'), __('DPDP Requests', 'cookieadmin'), $capability, 'cookieadmin-dpdp', '\CookieAdminPro\Admin\DPDP::dpdp_requests'); | |
| 121 | + | |
| 107 | 122 | if(!defined('SITEPAD')){ |
| 108 | 123 | add_submenu_page('cookieadmin', __('License', 'cookieadmin'), __('License', 'cookieadmin'), $capability, 'cookieadmin-license', '\CookieAdminPro\License::cookieadmin_show_license'); |
| 109 | 124 | } |
| 110 | 125 | }else if(!defined('SITEPAD')){ |
| @@ -117,8 +132,10 @@ | ||
| 117 | 132 | static function header_theme($title = 'Dashboard'){ |
| 118 | 133 | |
| 119 | 134 | global $cookieadmin_lang, $cookieadmin_error, $cookieadmin_msg; |
| 120 | 135 | |
| 136 | + self::conflict_notice(); | |
| 137 | + | |
| 121 | 138 | echo ' |
| 122 | 139 | <div class="cookieadmin-metabox-holder"> |
| 123 | 140 | <div class="cookieadmin-header"> |
| 124 | 141 | <div class="cookieadmin-header-left"> |
| @@ -299,8 +316,43 @@ | ||
| 299 | 316 | });'); |
| 300 | 317 | |
| 301 | 318 | } |
| 302 | 319 | |
| 320 | + static function conflict_notice(){ | |
| 321 | + | |
| 322 | + $conflicting = [ | |
| 323 | + 'complianz-gdpr/complianz-gdpr.php' => 'Complianz', | |
| 324 | + 'cookie-law-info/cookie-law-info.php' => 'CookieYes', | |
| 325 | + 'cookiebot/cookiebot.php' => 'Cookiebot', | |
| 326 | + 'cookie-notice/cookie-notice.php' => 'Cookie Notice', | |
| 327 | + 'gdpr-cookie-compliance/gdpr-cookie-compliance.php' => 'GDPR Cookie Compliance', | |
| 328 | + 'borlabs-cookie/borlabs-cookie.php' => 'Borlabs Cookie', | |
| 329 | + 'wp-gdpr-compliance/wp-gdpr-compliance.php' => 'Cookie Information', | |
| 330 | + ]; | |
| 331 | + | |
| 332 | + if(!function_exists('is_plugin_active')){ | |
| 333 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 334 | + } | |
| 335 | + | |
| 336 | + $active = []; | |
| 337 | + foreach($conflicting as $slug => $name){ | |
| 338 | + if(is_plugin_active($slug)){ | |
| 339 | + $active[] = $name; | |
| 340 | + } | |
| 341 | + } | |
| 342 | + | |
| 343 | + if(empty($active)){ | |
| 344 | + return; | |
| 345 | + } | |
| 346 | + | |
| 347 | + $names = implode(', ', $active); | |
| 348 | + | |
| 349 | + echo '<div class="cookieadmin-conflict-notice"> | |
| 350 | + <span class="dashicons dashicons-warning"></span> | |
| 351 | + <span>'.sprintf(__('Conflicting plugin(s) detected: <b>%s</b>. Please deactivate them to avoid issues with CookieAdmin.', 'cookieadmin'), esc_html($names)).'</span> | |
| 352 | + </div>'; | |
| 353 | + } | |
| 354 | + | |
| 303 | 355 | static function close_notices(){ |
| 304 | 356 | |
| 305 | 357 | if(empty($_REQUEST['notice'])){ |
| 306 | 358 | return; |