PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.26
Advanced Ads – Ad Manager & AdSense v2.0.26
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 / admin / class-assets.php
advanced-ads / includes / admin Last commit date
ads 3 weeks ago groups 3 weeks ago metaboxes 3 weeks ago pages 3 weeks ago placements 3 weeks ago class-action-links.php 3 weeks ago class-addon-box.php 3 weeks ago class-addon-updater.php 3 weeks ago class-admin-menu.php 3 weeks ago class-admin-notices.php 1 year ago class-ajax.php 3 weeks ago class-app.php 1 month ago class-assets.php 3 weeks ago class-authors.php 3 weeks ago class-edd-updater.php 3 weeks ago class-license-admin-post.php 3 weeks ago class-list-filters.php 3 weeks ago class-marketing.php 3 weeks ago class-metabox-ad-settings.php 1 year ago class-metabox-ad.php 3 weeks ago class-misc.php 3 weeks ago class-page-quick-edit.php 1 month ago class-plugin-auto-update.php 1 month ago class-plugin-installer.php 3 weeks ago class-post-list.php 3 weeks ago class-post-types.php 3 weeks ago class-screen-options.php 3 weeks ago class-settings.php 3 weeks ago class-shortcode-creator.php 3 weeks ago class-system-info.php 1 year ago class-tinymce.php 2 years ago class-translation-promo.php 3 weeks ago class-upgrades.php 3 weeks ago class-version-control.php 3 weeks ago class-welcome.php 1 year ago class-wordpress-dashboard.php 1 year ago index.php 2 years ago
class-assets.php
228 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 'restUrl' => esc_url_raw( rest_url() ),
191 'restNonce' => wp_create_nonce( 'wp_rest' ),
192 'shopUrl' => defined( 'AA_SHOP_URL' ) ? esc_url( AA_SHOP_URL ) : esc_url( 'https://wpadvancedads.com' ), // SHOP_URL define on wp-config.php.
193 'siteUrl' => esc_url( site_url() ),
194 ];
195
196 wp_advads_json_add( 'endpoints', $endpoints );
197 }
198
199 /**
200 * Localize i18n strings
201 *
202 * @return void
203 */
204 private function enqueue_i18n() {
205 $data = [
206 'btnCloseLabel' => __( 'Close', 'advanced-ads' ),
207 'searchResultsLabel' => __( 'Showing search results for', 'advanced-ads' ),
208 ];
209
210 wp_advads_json_add( 'i18n', $data );
211 }
212
213 /**
214 * Check if we should bail from enqueueing assets.
215 *
216 * @return bool
217 */
218 private function should_bail(): bool {
219 $wp_screen = get_current_screen();
220
221 $bail_screens = [
222 'advanced-ads_page_advanced-ads-tools',
223 ];
224
225 return in_array( $wp_screen->id, $bail_screens, true );
226 }
227 }
228