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 / includes / admin / class-assets.php
advanced-ads / includes / admin Last commit date
ads 1 week ago groups 1 week ago metaboxes 1 year ago pages 1 day ago placements 1 day ago class-action-links.php 1 week ago class-addon-box.php 1 day ago class-addon-updater.php 1 day ago class-admin-menu.php 1 day ago class-admin-notices.php 1 year ago class-ajax.php 1 day ago class-app.php 1 day ago class-assets.php 1 day ago class-authors.php 1 year ago class-edd-updater.php 1 day ago class-license-admin-post.php 1 day ago class-list-filters.php 1 week ago class-marketing.php 1 year ago class-metabox-ad-settings.php 1 year ago class-metabox-ad.php 1 year ago class-misc.php 1 week ago class-page-quick-edit.php 1 day ago class-plugin-auto-update.php 1 day ago class-plugin-installer.php 1 day ago class-post-list.php 1 year ago class-post-types.php 1 week ago class-screen-options.php 3 months ago class-settings.php 1 day ago class-shortcode-creator.php 1 year ago class-system-info.php 1 year ago class-tinymce.php 2 years ago class-translation-promo.php 1 year ago class-upgrades.php 1 year ago class-version-control.php 3 months ago class-welcome.php 1 year ago class-wordpress-dashboard.php 1 year ago index.php 2 years ago
class-assets.php
226 lines
1 <?php
2 /**
3 * Assets manages the enqueuing of styles and scripts for the administration area.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds\Admin;
11
12 use Advanced_Ads_AdSense_Admin;
13 use Advanced_Ads_Display_Conditions;
14 use AdvancedAds\Constants;
15 use AdvancedAds\Framework\Interfaces\Integration_Interface;
16 use AdvancedAds\Utilities\Conditional;
17
18 defined( 'ABSPATH' ) || exit;
19
20 /**
21 * Admin Assets.
22 */
23 class Assets implements Integration_Interface {
24
25 /**
26 * Hook into WordPress.
27 *
28 * @return void
29 */
30 public function hooks(): void {
31 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ], 10, 0 );
32 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ], 9, 0 );
33 }
34
35 /**
36 * Enqueue styles
37 *
38 * @return void
39 */
40 public function enqueue_styles(): void {
41 $wp_screen = get_current_screen();
42
43 // Bail if we should bail.
44 if ( $this->should_bail() ) {
45 return;
46 }
47
48 // TODO: made them load conditionaly.
49 if ( 'dashboard' !== $wp_screen->id ) {
50 wp_advads()->registry->enqueue_style( 'ui' );
51 wp_advads()->registry->enqueue_style( 'admin' );
52 }
53
54 if ( Conditional::is_screen_advanced_ads() ) {
55 wp_advads()->registry->enqueue_style( 'notifications' );
56 }
57 }
58
59 /**
60 * Enqueue scripts
61 *
62 * @return void
63 */
64 public function enqueue_scripts(): void {
65 global $post;
66
67 $screen = get_current_screen();
68 $this->enqueue_endpoints();
69 $this->enqueue_security();
70 $this->enqueue_site_info();
71 $this->enqueue_i18n();
72
73 // Bail if we should bail.
74 if ( $this->should_bail() ) {
75 return;
76 }
77
78 // TODO: add conditional loading.
79 wp_advads()->registry->enqueue_script( 'admin-global' );
80 wp_advads()->registry->enqueue_script( 'commands' );
81
82 $params = [
83 'ajax_nonce' => wp_create_nonce( 'advanced-ads-admin-ajax-nonce' ),
84 'create_ad_url' => esc_url( admin_url( 'post-new.php?post_type=advanced_ads' ) ),
85 'create_your_first_ad' => __( 'Create your first ad', 'advanced-ads' ),
86 ];
87 wp_advads_json_add( $params, 'advadsglobal' );
88
89 // TODO: remove later start using global data variable.
90 wp_advads_json_add( 'ajax_nonce', wp_create_nonce( 'advanced-ads-admin-ajax-nonce' ), 'advadsglobal' );
91
92 if ( Conditional::is_screen_advanced_ads() ) {
93 wp_advads()->registry->enqueue_script( 'admin' );
94 wp_advads()->registry->enqueue_script( 'conditions' );
95 wp_advads()->registry->enqueue_script( 'adblocker-image-data' );
96 wp_advads()->registry->enqueue_script( 'notifications-center' );
97
98 $translation_array = [
99 'condition_or' => __( 'or', 'advanced-ads' ),
100 'condition_and' => __( 'and', 'advanced-ads' ),
101 'after_paragraph_promt' => __( 'After which paragraph?', 'advanced-ads' ),
102 'page_level_ads_enabled' => Advanced_Ads_AdSense_Admin::get_auto_ads_messages()['enabled'],
103 'today' => __( 'Today', 'advanced-ads' ),
104 'yesterday' => __( 'Yesterday', 'advanced-ads' ),
105 'this_month' => __( 'This Month', 'advanced-ads' ),
106 /* translators: 1: The number of days. */
107 'last_n_days' => __( 'Last %1$d days', 'advanced-ads' ),
108 /* translators: 1: An error message. */
109 'error_message' => __( 'An error occurred: %1$s', 'advanced-ads' ),
110 'all' => __( 'All', 'advanced-ads' ),
111 'active' => __( 'Active', 'advanced-ads' ),
112 'no_results' => __( 'There were no results returned for this ad. Please make sure it is active, generating impressions and double check your ad parameters.', 'advanced-ads' ),
113 'show_inactive_ads' => __( 'Show inactive ads', 'advanced-ads' ),
114 'hide_inactive_ads' => __( 'Hide inactive ads', 'advanced-ads' ),
115 'display_conditions_form_name' => Advanced_Ads_Display_Conditions::FORM_NAME, // not meant for translation.
116 'close' => __( 'Close', 'advanced-ads' ),
117 'close_save' => __( 'Close and save', 'advanced-ads' ),
118 'confirmation' => __( 'Data you have entered has not been saved. Are you sure you want to discard your changes?', 'advanced-ads' ),
119 'admin_page' => $screen->id,
120 'placements_allowed_ads' => [
121 'action' => 'advads_placements_allowed_ads',
122 'nonce' => wp_create_nonce( 'advads-create-new-placement' ),
123 ],
124 ];
125
126 // TODO: remove later start using global data variable.
127 wp_advads_json_add( $translation_array, 'advadstxt' );
128 }
129
130 if ( Constants::POST_TYPE_AD === $screen->id ) {
131 wp_enqueue_media( [ 'post' => $post ] );
132 }
133
134 // Ad edit screen.
135 if ( 'post' === $screen->base && Constants::POST_TYPE_AD === $screen->post_type ) {
136 wp_advads()->registry->enqueue_script( 'ad-positioning' );
137 }
138
139 if ( in_array( $screen->id, [ 'edit-post', 'edit-page' ], true ) && current_user_can( 'edit_posts' ) ) {
140 wp_advads()->registry->enqueue_script( 'page-quick-edit' );
141 wp_advads_json_add( 'page_quick_edit', [ 'nonce' => wp_create_nonce( 'advads-post-quick-edit' ) ] );
142 }
143 }
144
145 /**
146 * Global variables: advancedAds
147 *
148 * @return void
149 */
150 private function enqueue_security() {
151 $security = [
152 'ajaxNonce' => wp_create_nonce( 'advanced-ads-admin-ajax-nonce' ),
153 ];
154
155 wp_advads_json_add( 'security', $security );
156 }
157
158 /**
159 * Global variables: advancedAds
160 *
161 * @return void
162 */
163 private function enqueue_site_info() {
164 $endpoints = [
165 'blogId' => get_current_blog_id(),
166 'homeUrl' => get_home_url(),
167 'siteUrl' => get_site_url(),
168 'phpVersion' => phpversion(),
169 'wpVersion' => get_bloginfo( 'version' ),
170 'proVersion' => defined( 'AAP_VERSION' ),
171 'hasAnyValidLicense' => \Advanced_Ads_Admin_Licenses::get_instance()->any_license_valid(),
172 'currentUserEmail' => get_current_user_id() ? wp_get_current_user()->user_email : '',
173 ];
174
175 wp_advads_json_add( 'siteInfo', $endpoints );
176 }
177
178 /**
179 * Global variables: advancedAds
180 *
181 * @return void
182 */
183 private function enqueue_endpoints() {
184 $endpoints = [
185 'adminUrl' => esc_url( admin_url( '/' ) ),
186 'ajaxUrl' => esc_url( admin_url( 'admin-ajax.php' ) ),
187 'assetsUrl' => esc_url( ADVADS_BASE_URL ),
188 'dashboardUrl' => esc_url( admin_url( 'admin.php?page=advanced-ads' ) ),
189 'editAd' => esc_url( admin_url( 'post.php?action=edit&post=' ) ),
190 'shopUrl' => defined( 'AA_SHOP_URL' ) ? esc_url( AA_SHOP_URL ) : esc_url( 'https://wpadvancedads.com' ), // SHOP_URL define on wp-config.php.
191 'siteUrl' => esc_url( site_url() ),
192 ];
193
194 wp_advads_json_add( 'endpoints', $endpoints );
195 }
196
197 /**
198 * Localize i18n strings
199 *
200 * @return void
201 */
202 private function enqueue_i18n() {
203 $data = [
204 'btnCloseLabel' => __( 'Close', 'advanced-ads' ),
205 'searchResultsLabel' => __( 'Showing search results for', 'advanced-ads' ),
206 ];
207
208 wp_advads_json_add( 'i18n', $data );
209 }
210
211 /**
212 * Check if we should bail from enqueueing assets.
213 *
214 * @return bool
215 */
216 private function should_bail(): bool {
217 $wp_screen = get_current_screen();
218
219 $bail_screens = [
220 'advanced-ads_page_advanced-ads-tools',
221 ];
222
223 return in_array( $wp_screen->id, $bail_screens, true );
224 }
225 }
226