PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.10
Advanced Ads – Ad Manager & AdSense v1.10
2.0.26 2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / modules / privacy / admin / admin.php
advanced-ads / modules / privacy / admin Last commit date
views 8 years ago admin.php 8 years ago
admin.php
168 lines
1 <?php
2
3 class Advanced_Ads_Privacy_Admin
4 {
5 /**
6 * Singleton instance of the plugin
7 *
8 * @var Advanced_Ads_Privacy_Admin
9 */
10 protected static $instance;
11
12 /**
13 * module options
14 *
15 * @var array (if loaded)
16 */
17 protected $options;
18
19 /**
20 * Initialize the module
21 *
22 */
23 private function __construct() {
24
25 // add module settings to Advanced Ads settings page
26 add_action( 'advanced-ads-settings-init', array( $this, 'settings_init' ), 20, 1 );
27 add_filter('advanced-ads-setting-tabs', array($this, 'setting_tabs'), 20 );
28
29 // additional ad options
30 add_action('advanced-ads-ad-params-after', array($this, 'render_ad_options'), 20, 2);
31 add_filter( 'advanced-ads-save-options', array( $this, 'save_ad_options' ), 10, 2 );
32 }
33
34 /**
35 * Return an instance of Advanced_Ads_Privacy_Admin
36 *
37 * @return Advanced_Ads_Privacy_Admin
38 */
39 public static function get_instance() {
40 // If the single instance hasn't been set, set it now.
41 if (null === self::$instance)
42 {
43 self::$instance = new self;
44 }
45
46 return self::$instance;
47 }
48
49 /**
50 * add tracking settings tab
51 *
52 * @since 1.8.30
53 * @param arr $tabs existing setting tabs
54 * @return arr $tabs setting tabs with AdSense tab attached
55 */
56 public function setting_tabs(array $tabs) {
57
58 $tabs['privacy'] = array(
59 // TODO abstract string
60 'page' => ADVADS_PRIVACY_SLUG . '-settings',
61 'group' => ADVADS_PRIVACY_SLUG,
62 'tabid' => 'privacy',
63 'title' => __( 'Privacy', 'advanced-ads' )
64 );
65
66 return $tabs;
67 }
68
69 /**
70 * add settings to settings page
71 *
72 * @param string $hook settings page hook
73 */
74 public function settings_init($hook) {
75
76 register_setting( ADVADS_PRIVACY_SLUG, Advanced_Ads_Privacy::OPTION_KEY );
77
78 // add new section
79 add_settings_section(
80 ADVADS_PRIVACY_SLUG . '_settings_section', '', array($this, 'render_settings_section'), ADVADS_PRIVACY_SLUG . '-settings'
81 );
82
83 add_settings_field(
84 'enable-privacy-module', __('Enable Privacy module', 'advanced-ads'), array($this, 'render_settings_enable_module'), ADVADS_PRIVACY_SLUG . '-settings', ADVADS_PRIVACY_SLUG . '_settings_section'
85 );
86 add_settings_field(
87 'consent-method', __('Consent method', 'advanced-ads'), array($this, 'render_settings_consent_method'), ADVADS_PRIVACY_SLUG . '-settings', ADVADS_PRIVACY_SLUG . '_settings_section'
88 );
89 }
90
91
92 /**
93 * render settings section
94 */
95 public function render_settings_section() {
96
97 }
98
99 /**
100 * Render enable module setting
101 */
102 public function render_settings_enable_module() {
103 $options = Advanced_Ads_Privacy::get_instance()->options();
104 $module_enabled = isset( $options['enabled']) ? $options['enabled'] : false;
105 require ADVADS_BASE_PATH . 'modules/privacy/admin/views/setting-enable.php';
106 }
107
108 /**
109 * Render setting to choose the cookie method to hide ads
110 */
111 public function render_settings_consent_method() {
112 $options = Advanced_Ads_Privacy::get_instance()->options();
113 $methods = Advanced_Ads_Privacy::get_instance()->get_consent_methods();
114 $current_method = isset( $options['consent-method']) ? $options['consent-method'] : '0';
115 $custom_cookie_name = isset( $options['custom-cookie-name'] ) ? $options['custom-cookie-name'] : '';
116 $custom_cookie_value = isset( $options['custom-cookie-value'] ) ? $options['custom-cookie-value'] : '';
117 $show_non_personalized_adsense = isset( $options['show-non-personalized-adsense']) ? 1 : false;
118 require ADVADS_BASE_PATH . 'modules/privacy/admin/views/setting-consent-method.php';
119 }
120
121 /**
122 * add options to ad edit page
123 *
124 * @param obj $ad ad object
125 * @param arr $types ad types
126 */
127 public function render_ad_options( $ad, $types ) {
128
129 if (!isset($ad->id) || empty($ad->id)) {
130 return;
131 }
132
133 $ad = new Advanced_Ads_Ad($ad->id);
134 $ad_options = $ad->options();
135 $ad_privacy_options = isset( $ad_options['privacy'] ) ? $ad_options['privacy'] : array();
136 $ignore_consent = isset( $ad_privacy_options['ignore-consent']) ? true : false;
137
138 $privacy_options = Advanced_Ads_Privacy::get_instance()->options();
139 $module_enabled = ! empty( $privacy_options['enabled'] );
140
141 // If the module is not enabled and the option wasn't checked before.
142 if ( ! $module_enabled && ! $ignore_consent ) {
143 return;
144 }
145
146 include ADVADS_BASE_PATH . 'modules/privacy/admin/views/setting-ad-ignore-consent.php';
147
148 }
149
150 /**
151 * Save ad options.
152 *
153 * @param arr $options
154 * @param obj $ad Advanced_Ads_Ad
155 * @return arr $options
156 */
157 public function save_ad_options( $options = array(), Advanced_Ads_Ad $ad ) {
158 if ( isset( $_POST['advanced_ad']['privacy'] ) ) {
159 $options['privacy'] = $_POST['advanced_ad']['privacy'];
160 } else {
161 unset( $options['privacy'] );
162 }
163
164 return $options;
165 }
166
167 }
168