PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.12
Advanced Ads – Ad Manager & AdSense v2.0.12
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 11 months ago class-stats.php 1 year ago
class-scripts.php
161 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;
13 use Advanced_Ads_Utils;
14 use Advanced_Ads_Privacy;
15 use AdvancedAds\Utilities\WordPress;
16 use AdvancedAds\Utilities\Conditional;
17 use AdvancedAds\Framework\Utilities\Params;
18 use AdvancedAds\Framework\Interfaces\Integration_Interface;
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 wp_register_script(
49 ADVADS_SLUG . '-advanced-js',
50 sprintf( '%spublic/assets/js/advanced%s.js', ADVADS_BASE_URL, defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min' ),
51 [ 'jquery' ],
52 ADVADS_VERSION,
53 false
54 );
55
56 $privacy = Advanced_Ads_Privacy::get_instance();
57 $privacy_options = $privacy->options();
58 $privacy_options['enabled'] = ! empty( $privacy_options['enabled'] );
59 $privacy_options['state'] = $privacy->get_state();
60
61 wp_localize_script(
62 ADVADS_SLUG . '-advanced-js',
63 'advads_options',
64 [
65 'blog_id' => get_current_blog_id(),
66 'privacy' => $privacy_options,
67 ]
68 );
69
70 $frontend_picker = Params::cookie( 'advads_frontend_picker' );
71 $activated_js = apply_filters( 'advanced-ads-activate-advanced-js', isset( Advanced_Ads::get_instance()->options()['advanced-js'] ) );
72
73 if ( $activated_js || ! empty( $frontend_picker ) ) {
74 wp_enqueue_script( ADVADS_SLUG . '-advanced-js' );
75 }
76
77 wp_register_script(
78 ADVADS_SLUG . '-frontend-picker',
79 sprintf( '%spublic/assets/js/frontend-picker%s.js', ADVADS_BASE_URL, defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min' ),
80 [ 'jquery', ADVADS_SLUG . '-advanced-js' ],
81 ADVADS_VERSION,
82 false
83 );
84
85 if ( ! empty( $frontend_picker ) ) {
86 wp_enqueue_script( ADVADS_SLUG . '-frontend-picker' );
87 }
88
89 wp_advads()->registry->enqueue_script( 'find-adblocker' );
90 }
91
92 /**
93 * Print public-facing JavaScript in the HTML head.
94 *
95 * @return void
96 */
97 public function print_head_scripts(): void {
98 printf(
99 '<!-- %1$s is managing ads with Advanced Ads %2$s – https://wpadvancedads.com/ -->',
100 esc_html( WordPress::get_site_domain() ),
101 esc_html( ADVADS_VERSION )
102 );
103
104 if ( Conditional::is_amp() ) {
105 return;
106 }
107
108 $frontend_prefix = wp_advads()->get_frontend_prefix();
109
110 ob_start();
111 ?>
112 <script id="<?php echo esc_attr( $frontend_prefix ); ?>ready">
113 <?php
114 readfile( // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_readfile -- we're getting the contents of a local file
115 sprintf(
116 '%spublic/assets/js/ready%s.js',
117 ADVADS_ABSPATH,
118 defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
119 )
120 );
121 ?>
122 </script>
123 <?php
124
125 /**
126 * Print inline script in the page header form add-ons.
127 *
128 * @param string $frontend_prefix the prefix used for Advanced Ads related HTML ID-s and classes.
129 */
130 do_action( 'advanced_ads_inline_header_scripts', $frontend_prefix );
131
132 echo Advanced_Ads_Utils::get_inline_asset( ob_get_clean() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
133 }
134
135 /**
136 * Print inline scripts in wp_footer.
137 *
138 * @return void
139 */
140 public function print_footer_scripts(): void {
141 if ( Conditional::is_amp() ) {
142 return;
143 }
144
145 $file_path = sprintf(
146 '%spublic/assets/js/ready-queue%s.js',
147 ADVADS_ABSPATH,
148 defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
149 );
150
151 // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
152 echo Advanced_Ads_Utils::get_inline_asset(
153 sprintf(
154 '<script>%s</script>',
155 file_get_contents( $file_path ) // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
156 )
157 );
158 // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
159 }
160 }
161