setting-general.php
116 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Enable Privacy Module. |
| 4 | * |
| 5 | * @since 1.47.0 |
| 6 | * @package AdvancedAds |
| 7 | * @author Advanced Ads <info@wpadvancedads.com> |
| 8 | * |
| 9 | * @var bool $module_enabled Whether the privacy module is enabled. |
| 10 | * @var array $methods Available privacy methods. |
| 11 | * @var string $current_method Currently chosen method. |
| 12 | * @var string $custom_cookie_name Name of custom cookie, if this setting is chosen. |
| 13 | * @var string $custom_cookie_value (Partial) Value of custom cookie, if this setting is chosen. |
| 14 | * @var bool $show_non_personalized_adsense Whether to show non-personalized ads until custom cookie consent is given. |
| 15 | * @var string $opening_link_to_pro Opening link tag for link to Pro (either upsell or settings). |
| 16 | */ |
| 17 | |
| 18 | use AdvancedAds\Compatibility\Compatibility; |
| 19 | use AdvancedAds\Tracking\Helpers; |
| 20 | use AdvancedAds\Utilities\Conditional; |
| 21 | |
| 22 | ?> |
| 23 | <input name="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>[enabled]" id="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>_enabled" type="checkbox" <?php checked( $module_enabled ); ?> class="advads-has-sub-settings"/> |
| 24 | <label for="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>_enabled"> |
| 25 | <?php esc_html_e( 'Show ads only to users who give their permission to cookies and ads.', 'advanced-ads' ); ?> |
| 26 | </label> |
| 27 | |
| 28 | <div class="advads-sub-settings"> |
| 29 | <h4><?php esc_html_e( 'Consent method', 'advanced-ads' ); ?></h4> |
| 30 | <ul> |
| 31 | <?php |
| 32 | foreach ( $methods as $method => $options ) : |
| 33 | $checked = checked( $method, $current_method, false ); |
| 34 | ?> |
| 35 | <li> |
| 36 | <label> |
| 37 | <input type="radio" name="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>[consent-method]" value="<?php echo esc_attr( $method ); ?>" <?php echo esc_attr( $checked ); ?> /> |
| 38 | <?php |
| 39 | echo esc_html( $options['label'] ); |
| 40 | if ( ! empty( $options['manual_url'] ) ) : |
| 41 | ?> |
| 42 | – <a href="<?php echo esc_url( $options['manual_url'] ); ?>" target="_blank" class="advads-manual-link"> |
| 43 | <?php esc_html_e( 'Manual', 'advanced-ads' ); ?> |
| 44 | </a> |
| 45 | <?php endif; ?> |
| 46 | </label> |
| 47 | |
| 48 | <?php if ( 'custom' === $method ) : ?> |
| 49 | |
| 50 | <div style="margin: 10px 24px;"> |
| 51 | <label> |
| 52 | <?php esc_html_e( 'Cookie name', 'advanced-ads' ); ?> |
| 53 | <input type="text" name="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>[custom-cookie-name]" value="<?php echo esc_attr( $custom_cookie_name ); ?>" placeholder="<?php esc_attr_e( 'Name', 'advanced-ads' ); ?>" <?php echo $method === $current_method ? 'required' : ''; ?>/> |
| 54 | </label> |
| 55 | <label> |
| 56 | <?php esc_html_e( 'contains', 'advanced-ads' ); ?> |
| 57 | <?php esc_html_e( 'value', 'advanced-ads' ); ?> |
| 58 | <input type="text" name="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>[custom-cookie-value]" value="<?php echo esc_attr( $custom_cookie_value ); ?>" placeholder="<?php esc_attr_e( 'Value', 'advanced-ads' ); ?>"/> |
| 59 | </label> |
| 60 | <label style="display: block; margin-top: 5px; margin-bottom: 7px;"> |
| 61 | <input type="checkbox" name="<?php echo esc_attr( Advanced_Ads_Privacy::OPTION_KEY ); ?>[show-non-personalized-adsense]" <?php checked( $show_non_personalized_adsense ); ?> /> |
| 62 | <?php esc_html_e( 'Show non-personalized AdSense ads until consent is given.', 'advanced-ads' ); ?> |
| 63 | </label> |
| 64 | <?php if ( Compatibility::borlabs_cookie_adsense_auto_ads_code_exists() ) : ?> |
| 65 | <p class="description"> |
| 66 | <?php require GADSENSE_BASE_PATH . 'admin/views/borlabs-cookie-auto-ads-warning.php'; ?> |
| 67 | </p> |
| 68 | <?php endif; ?> |
| 69 | </div> |
| 70 | |
| 71 | <?php if ( apply_filters( 'advanced-ads-privacy-custom-show-warning', ! empty( $checked ) && Conditional::has_cache_plugins() ) ) : ?> |
| 72 | <p class="description" style="margin: 5px 0 10px 23px;"> |
| 73 | <span class="advads-notice-inline advads-error"><?php esc_html_e( 'It seems that a caching plugin is activated.', 'advanced-ads' ); ?></span> |
| 74 | <br> |
| 75 | <?php |
| 76 | esc_html_e( 'Your users’ consent might get cached and show ads to users who didn’t give their consent yet. ', 'advanced-ads' ); |
| 77 | // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- attributes already escaped. |
| 78 | echo $opening_link_to_pro; |
| 79 | esc_html_e( 'Cache-busting in Advanced Ads Pro solves that.', 'advanced-ads' ); |
| 80 | echo '</a>'; |
| 81 | ?> |
| 82 | </p> |
| 83 | <?php endif; ?> |
| 84 | <?php elseif ( 'iab_tcf_20' === $method ) : ?> |
| 85 | <?php if ( apply_filters( 'advanced-ads-privacy-tcf-show-warning', ! empty( $checked ) ) ) : ?> |
| 86 | <p class="description" style="margin: 5px 0 10px 23px;"> |
| 87 | <?php |
| 88 | esc_html_e( 'Ads are loaded after the user gives their consent and reloads the page.', 'advanced-ads' ); |
| 89 | echo ' '; |
| 90 | printf( |
| 91 | /* Translators: 1: opening link tag with link to Advanced Ads Pro 2: closing link tag */ |
| 92 | esc_html__( 'Install %1$sAdvanced Ads Pro%2$s to reload the ads instantly without an additional page request.', 'advanced-ads' ), |
| 93 | // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- attributes already escaped. |
| 94 | $opening_link_to_pro, |
| 95 | '</a>' |
| 96 | ); |
| 97 | ?> |
| 98 | </p> |
| 99 | <?php endif; ?> |
| 100 | <?php |
| 101 | if ( method_exists( Helpers::class, 'has_tcf_conflict' ) ) : |
| 102 | if ( Helpers::has_tcf_conflict() ) : |
| 103 | ?> |
| 104 | <p class="advads-notice-inline advads-error"> |
| 105 | <?php esc_html_e( 'The selected tracking method is not compatible with the TCF 2.0 integration.', 'advanced-ads' ); ?> |
| 106 | </p> |
| 107 | <?php |
| 108 | endif; |
| 109 | endif; |
| 110 | ?> |
| 111 | <?php endif; ?> |
| 112 | </li> |
| 113 | <?php endforeach; ?> |
| 114 | </ul> |
| 115 | </div> |
| 116 |