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