PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
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 / one-click / class-helpers.php
advanced-ads / modules / one-click Last commit date
admin 1 day ago modules 1 year ago class-helpers.php 1 year ago class-options.php 1 year ago class-page-parser.php 1 year ago main.php 2 years ago
class-helpers.php
221 lines
1 <?php
2 /**
3 * Helpers.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.48.0
8 */
9
10 namespace AdvancedAds\Modules\OneClick;
11
12 use AdvancedAds\Utilities\WordPress;
13 use AdvancedAds\Framework\Utilities\Str;
14
15 defined( 'ABSPATH' ) || exit;
16
17 /**
18 * Helpers.
19 */
20 class Helpers {
21
22 /**
23 * Check if config has traffic cop subscription
24 *
25 * @param array $config Config instance.
26 *
27 * @return bool
28 */
29 public static function has_traffic_cop( $config = null ): bool {
30 if ( null === $config ) {
31 $config = Options::pubguru_config();
32 }
33
34 if (
35 isset( $config['params'] ) &&
36 ( isset( $config['params']['trafficCopIvtAction'] ) && 'block' === $config['params']['trafficCopIvtAction'] ) &&
37 ( isset( $config['params']['trafficCopTestPercent'] ) && $config['params']['trafficCopTestPercent'] > 0.01 )
38 ) {
39 return true;
40 }
41
42 return false;
43 }
44
45 /**
46 * Get config file
47 *
48 * Cases
49 * 1. For auto_created
50 * 2. For mobile prefix
51 * 3. For desktop prefix
52 * 4. If none of the prefix is found than go with the first one
53 * 5. No configuration found => pg.{domain}.js
54 *
55 * @return bool|string
56 */
57 public static function get_config_file() {
58 static $pubguru_config_name;
59
60 if ( null !== $pubguru_config_name ) {
61 return $pubguru_config_name;
62 }
63
64 $pubguru_config_name = false;
65 $configs = Options::pubguru_config();
66
67 // 1. For auto_created => pg.{domain}_auto_created.js
68 foreach ( $configs['configs'] as $config ) {
69 if ( isset( $config['auto_created'] ) && $config['auto_created'] ) {
70 $pubguru_config_name = $config['name'];
71 return $pubguru_config_name;
72 }
73 }
74
75 // 5. No configuration found => pg.{domain}.js
76 if ( ! isset( $configs['configs'] ) || empty( $configs['configs'] ) ) {
77 $domain = WordPress::get_site_domain( 'name' );
78 return "pg.{$domain}.js";
79 }
80
81 $pubguru_config_name = wp_is_mobile()
82 // 2. For mobile prefix
83 ? self::config_contains( 'mobile' )
84 // 3. For desktop prefix
85 : self::config_contains( 'desktop' );
86 $pubguru_config_name = false !== $pubguru_config_name
87 ? $pubguru_config_name
88 // 4. If none of the prefix is found than go with the first one
89 : $configs['configs'][0]['name'];
90
91 return $pubguru_config_name;
92 }
93
94 /**
95 * Find config name by needle
96 *
97 * @param string $needle Needle to look into config name.
98 *
99 * @return bool|string
100 */
101 private static function config_contains( $needle ) {
102 $configs = Options::pubguru_config();
103
104 foreach ( $configs['configs'] as $config ) {
105 if ( Str::contains( $needle, $config['name'] ) ) {
106 return $config['name'];
107 }
108 }
109
110 return false;
111 }
112
113 /**
114 * Get ads from saved config.
115 *
116 * In this order
117 * 1. Get ads from auto_created = true
118 * 2. Get ads from first config
119 * 3. Get ads from default config
120 *
121 * @return bool|array
122 */
123 public static function get_ads_from_config() {
124 static $pubguru_config_ads;
125 $config = Options::pubguru_config();
126
127 if ( null !== $pubguru_config_ads ) {
128 return $pubguru_config_ads;
129 }
130
131 $pubguru_config_ads = false;
132 // 1. Get ads from auto_created = true or name contains auto_created
133 foreach ( $config['configs'] as $config ) {
134 if (
135 ( isset( $config['auto_created'] ) && $config['auto_created'] ) ||
136 Str::contains( 'auto_created', $config['name'] )
137 ) {
138 $pubguru_config_ads = $config['ad_units'];
139 return $pubguru_config_ads;
140 }
141 }
142
143 // 2. Get ads from first config
144 if ( isset( $config['configs'][0]['ad_units'] ) && ! empty( $config['configs'][0]['ad_units'] ) ) {
145 $pubguru_config_ads = $config['configs'][0]['ad_units'];
146 } else {
147 // 3. Get ads from default config
148 $domain = WordPress::get_site_domain();
149 $pubguru_config_ads = [
150 $domain . '_leaderboard' => [
151 'ad_unit' => $domain . '_leaderboard',
152 'slot' => $domain . '_leaderboard',
153 'device' => 'all',
154 'advanced_placement' => [
155 'placement' => 'beforeContent',
156 'inContentRule' => [
157 'position' => 'before',
158 'positionCount' => 1,
159 'positionElement' => 'paragraph',
160 'positionRepeat' => false,
161 ],
162 ],
163 ],
164 $domain . '_in_content_1' => [
165 'ad_unit' => $domain . '_in_content_1',
166 'slot' => $domain . '_in_content_1',
167 'device' => 'all',
168 'advanced_placement' => [
169 'placement' => 'beforeContent',
170 'inContentRule' => [
171 'position' => 'before',
172 'positionCount' => 1,
173 'positionElement' => 'paragraph',
174 'positionRepeat' => false,
175 ],
176 ],
177 ],
178 $domain . '_in_content_2' => [
179 'ad_unit' => $domain . '_in_content_2',
180 'slot' => $domain . '_in_content_2',
181 'device' => 'all',
182 'advanced_placement' => [
183 'placement' => 'inContent',
184 'inContentRule' => [
185 'position' => 'after',
186 'positionCount' => 3,
187 'positionElement' => 'paragraph',
188 'positionRepeat' => true,
189 ],
190 ],
191 ],
192 ];
193 }
194
195 return $pubguru_config_ads;
196 }
197
198 /**
199 * Is ad disabled on page
200 *
201 * @param int $post_id Post id to check for.
202 *
203 * @return bool
204 */
205 public static function is_ad_disabled( $post_id = 0 ): bool {
206 global $post;
207
208 if ( ! $post ) {
209 return false;
210 }
211
212 if ( ! $post_id ) {
213 $post_id = $post->ID;
214 }
215
216 $settings = get_post_meta( $post_id, '_advads_ad_settings', true );
217
218 return is_singular() ? ! empty( $settings['disable_ads'] ) : false;
219 }
220 }
221