\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /usr/local/sitepad/editor/site-data/plugins/cookieadmin-pro/includes/

Viewing File: gpc.php

<?php

namespace CookieAdminPro;

if(!defined('COOKIEADMIN_PRO_VERSION') || !defined('ABSPATH')){
	die('Hacking Attempt');
}

class GPC {
	
	/**
	 * Detect GPC signal from HTTP header or JavaScript
	 * 
	 * @return bool True if GPC is enabled, false otherwise
	 */
	static function detect_gpc_signal() {
		// Check HTTP header first
		if (isset($_SERVER['HTTP_SEC_GPC']) && $_SERVER['HTTP_SEC_GPC'] === '1') {
			return true;
		}
		
		return false;
	}
    
    /**
     * Create GPC compliance JSON file
     * 
     * @return bool True if file created successfully, false otherwise
     */
	static function create_gpc_json_file() {
		$gpc_path = ABSPATH . '.well-known/gpc.json';

		// Create directory if it doesn't exist
		if(!file_exists(dirname($gpc_path))){
			mkdir(dirname($gpc_path), 0755, true);
		}

		$gpc_content = json_encode([
			'gpc' => true,
			'lastUpdate' => date('c'),
		], JSON_PRETTY_PRINT);

		return file_put_contents($gpc_path, $gpc_content) !== false;
    }
	
	static function override_gpc($html){
		global $cookieadmin, $cookieadmin_settings;
		
		if(!self::detect_gpc_signal()){
		    return '';
		}
		
		// If GPC is not enabled we do not need Override
		if(empty($cookieadmin_settings) || empty($cookieadmin_settings['respect_gpc'])){
			return '';
		}
		
		$law = get_option('cookieadmin_law', 'cookieadmin_gdpr');
		$settings = get_option('cookieadmin_consent_settings', []);

		// Do not show any message if banner is off via Geo rule
		if(empty($law)){
			return '';
		}
		
		$text_color = '';
		if(!empty($settings) && !empty($settings[$law]) && !empty($settings[$law]['cookieadmin_details_wrapper_color'])){
			$text_color =  'color:'.$settings[$law]['cookieadmin_details_wrapper_color'];
		}

		$gpc_override_warning = !empty($cookieadmin_settings['gpc_override_warning']) ? $cookieadmin_settings['gpc_override_warning'] : $cookieadmin['gpc_override_warning_default'];
		if(cookieadmin_is_multilingual_active()){
			if(cookieadmin_is_polylang_active()){
				$gpc_override_warning = pll__($gpc_override_warning);
			}else if(cookieadmin_is_wpml_active()){
				$gpc_override_warning = apply_filters( 'wpml_translate_single_string', $gpc_override_warning, 'CookieAdmin', 'gpc_override_warning');
			}
		}

		return '<div id="cookieadmin_gpc_override" role="region" aria-labelledby="cookieadmin-override-gpc-heading" style="'.esc_attr($text_color).'">
			<div class="cookieadmin_header">
				<span>
					<label class="stitle" id="cookieadmin-override-gpc-heading" for="cookieadmin-respect-gpc">'.esc_html__('Override GPC', 'cookieadmin').'</label>
					<label class="cookieadmin_remark">[[remark]]</label>
				</span>
				<label class="cookieadmin_toggle" aria-labelledby="cookieadmin-override-heading">
					<input type="checkbox" id="cookieadmin-override_gpc" value="true">
					<span class="cookieadmin_slider"></span>
				</label>
			</div>
			<div class="cookieadmin_desc">'.esc_html($gpc_override_warning).'</div>
		</div>';
	}
	
	static function toast($template){
		global $cookieadmin, $cookieadmin_settings;
		
		if(!self::detect_gpc_signal()){
		    return $template;
		}

		$gpc_message = !empty($cookieadmin_settings['gpc_message']) ? $cookieadmin_settings['gpc_message'] : $cookieadmin['gpc_message_default'];
		if(cookieadmin_is_multilingual_active()){
			if(cookieadmin_is_polylang_active()){
				$gpc_message = pll__($gpc_message);
			}else if(cookieadmin_is_wpml_active()){
				$gpc_message = apply_filters( 'wpml_translate_single_string', $gpc_message, 'CookieAdmin', 'gpc_message');
			}
		}
		
		$law = get_option('cookieadmin_law', 'cookieadmin_gdpr');
		$settings = get_option('cookieadmin_consent_settings', []);

		// Do not show any message if banner is off via Geo rule
		if(empty($law)){
			return '';
		}
		
		$background_color = '#374FD4';
		if(!empty($settings) && !empty($settings[$law]) && !empty($settings[$law]['cookieadmin_re_consent_bg_color'])){
			$background_color =  $settings[$law]['cookieadmin_re_consent_bg_color'];
		}

		$toast = '<div id="cookieadmin-gpc-toast" style="background-color: '.esc_attr($background_color).'">
	<span style="line-height: 1.4;">'.esc_html($gpc_message).'</span>
	<button style="background: transparent; border: none; color: #ffffff; font-size: 20px; cursor: pointer; padding: 0; line-height: 1; opacity: 0.7; transition: opacity 0.2s;" aria-label="'.esc_html__('Close notification', 'cookieadmin').'">&times;</button>
</div>';

		return $template . $toast;
	}
}