PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.21
Advanced Ads – Ad Manager & AdSense v2.0.21
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 / includes / frontend / class-scripts.php
advanced-ads / includes / frontend Last commit date
class-ad-display-condition.php 1 year ago class-ad-renderer.php 1 year ago class-debug-ads.php 1 year ago class-manager.php 1 year ago class-scripts.php 2 months ago class-stats.php 1 year ago
class-scripts.php
148 lines
1 <?php
2 /**
3 * Frontend Scripts.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.50.0
8 */
9
10 namespace AdvancedAds\Frontend;
11
12 use Advanced_Ads_Privacy;
13 use Advanced_Ads_Utils;
14 use Advanced_Ads;
15 use AdvancedAds\Framework\Interfaces\Integration_Interface;
16 use AdvancedAds\Framework\Utilities\Params;
17 use AdvancedAds\Utilities\Conditional;
18 use AdvancedAds\Utilities\WordPress;
19
20 defined( 'ABSPATH' ) || exit;
21
22 /**
23 * Frontend Scripts.
24 */
25 class Scripts implements Integration_Interface {
26
27 /**
28 * Hook into WordPress.
29 *
30 * @return void
31 */
32 public function hooks(): void {
33 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
34 add_action( 'wp_head', [ $this, 'print_head_scripts' ], 7 );
35 add_action( 'wp_footer', [ $this, 'print_footer_scripts' ], 100 );
36 }
37
38 /**
39 * Register and enqueues public-facing JavaScript files.
40 *
41 * @return void
42 */
43 public function enqueue_scripts(): void {
44 if ( Conditional::is_amp() ) {
45 return;
46 }
47
48 $privacy = Advanced_Ads_Privacy::get_instance();
49 $privacy_options = $privacy->options();
50 $privacy_options['enabled'] = ! empty( $privacy_options['enabled'] );
51 $privacy_options['state'] = $privacy->get_state();
52
53 wp_localize_script(
54 wp_advads()->registry->prefix_it( 'advanced-js' ),
55 'advads_options',
56 [
57 'blog_id' => get_current_blog_id(),
58 'privacy' => $privacy_options,
59 ]
60 );
61
62 $frontend_picker = Params::cookie( 'advads_frontend_picker' );
63 $activated_js = apply_filters( 'advanced-ads-activate-advanced-js', isset( Advanced_Ads::get_instance()->options()['advanced-js'] ) );
64
65 if ( $activated_js || ! empty( $frontend_picker ) ) {
66 wp_advads()->registry->enqueue_script( 'advanced-js' );
67 }
68
69 wp_advads()->registry->register_script( 'frontend-picker', 'assets/dist/frontend-picker.js' );
70
71 if ( ! empty( $frontend_picker ) ) {
72 wp_advads()->registry->enqueue_script( 'advanced-js' );
73 wp_enqueue_script( ADVADS_SLUG . '-frontend-picker' );
74 }
75
76 wp_advads()->registry->enqueue_script( 'find-adblocker' );
77 }
78
79 /**
80 * Print public-facing JavaScript in the HTML head.
81 *
82 * @return void
83 */
84 public function print_head_scripts(): void {
85 printf(
86 '<!-- %1$s is managing ads with Advanced Ads %2$s – https://wpadvancedads.com/ -->',
87 esc_html( WordPress::get_site_domain() ),
88 esc_html( ADVADS_VERSION )
89 );
90
91 if ( Conditional::is_amp() ) {
92 return;
93 }
94
95 $frontend_prefix = wp_advads()->get_frontend_prefix();
96
97 ob_start();
98 ?>
99 <script id="<?php echo esc_attr( $frontend_prefix ); ?>ready">
100 <?php
101 readfile( // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_readfile -- we're getting the contents of a local file
102 sprintf(
103 '%spublic/assets/js/ready%s.js',
104 ADVADS_ABSPATH,
105 defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
106 )
107 );
108 ?>
109 </script>
110 <?php
111
112 /**
113 * Print inline script in the page header form add-ons.
114 *
115 * @param string $frontend_prefix the prefix used for Advanced Ads related HTML ID-s and classes.
116 */
117 do_action( 'advanced_ads_inline_header_scripts', $frontend_prefix );
118
119 echo Advanced_Ads_Utils::get_inline_asset( ob_get_clean() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
120 }
121
122 /**
123 * Print inline scripts in wp_footer.
124 *
125 * @return void
126 */
127 public function print_footer_scripts(): void {
128 if ( Conditional::is_amp() ) {
129 return;
130 }
131
132 $file_path = sprintf(
133 '%spublic/assets/js/ready-queue%s.js',
134 ADVADS_ABSPATH,
135 defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
136 );
137
138 // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
139 echo Advanced_Ads_Utils::get_inline_asset(
140 sprintf(
141 '<script>%s</script>',
142 file_get_contents( $file_path ) // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
143 )
144 );
145 // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
146 }
147 }
148