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-app.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-app.php
145 lines
1 <?php
2 /**
3 * App screen.
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 AdvancedAds\Abstracts\Screen;
13 use AdvancedAds\Framework\Interfaces\Integration_Interface;
14 use AdvancedAds\Framework\Utilities\Params;
15 use AdvancedAds\Utilities\Conditional;
16
17 defined( 'ABSPATH' ) || exit;
18
19 /**
20 * App.
21 *
22 * phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
23 */
24 class App extends Screen implements Integration_Interface {
25
26 /**
27 * Hook into WordPress.
28 *
29 * @return void
30 */
31 public function hooks(): void {
32 add_action( 'admin_menu', [ $this, 'register_screen' ], 99 );
33 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_assets' ], 10, 0 );
34 add_action( 'in_admin_header', [ $this, 'remove_notices' ], PHP_INT_MAX );
35 }
36
37 /**
38 * Screen unique id.
39 *
40 * @return string
41 */
42 public function get_id(): string {
43 return 'app';
44 }
45
46 /**
47 * Register screen into WordPress admin area.
48 *
49 * @return void
50 */
51 public function register_screen(): void {
52 $this->register_submenus();
53
54 $hook = add_submenu_page(
55 ADVADS_SLUG,
56 __( 'App', 'advanced-ads' ),
57 __( 'App', 'advanced-ads' ),
58 Conditional::user_cap( 'advanced_ads_manage_options' ),
59 ADVADS_SLUG . '-app',
60 [ $this, 'display' ],
61 999
62 );
63
64 $this->set_hook( $hook );
65 }
66
67 /**
68 * Enqueue assets
69 *
70 * @return void
71 */
72 public function enqueue_assets(): void {
73 if ( ! $this->is_screen() ) {
74 return;
75 }
76
77 wp_advads()->registry->enqueue_style( 'app' );
78 wp_advads()->registry->enqueue_script( 'app' );
79 }
80
81 /**
82 * Remove notices from the app screen.
83 *
84 * @return void
85 */
86 public function remove_notices(): void {
87 echo '<style>li#toplevel_page_advanced-ads .wp-submenu li:last-child {display: none}</style>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
88
89 if ( ! $this->is_screen() ) {
90 return;
91 }
92
93 remove_all_actions( 'admin_notices' );
94 remove_all_actions( 'wpstg.admin_notices' );
95 }
96
97 /**
98 * Display screen content.
99 *
100 * @return void
101 */
102 public function display(): void {
103 echo '<div id="advads-app"></div>';
104 }
105
106 /**
107 * Check if the current screen is the app screen.
108 *
109 * @return bool
110 */
111 private function is_screen(): bool {
112 $wp_screen = get_current_screen();
113 return $wp_screen->id === $this->get_hook();
114 }
115
116 /**
117 * Register submenus.
118 *
119 * @return void
120 */
121 private function register_submenus(): void {
122 global $submenu;
123
124 $button_class = 'advads-app-link';
125 $is_app = 'advanced-ads-app' === Params::get( 'page' );
126 $base_url = $is_app ? '' : admin_url( 'admin.php?page=advanced-ads-app&path=' );
127
128 $submenu['advanced-ads'][] = [
129 __( 'Support', 'advanced-ads' ),
130 Conditional::user_cap( 'advanced_ads_manage_options' ),
131 $base_url . '/support',
132 __( 'Support', 'advanced-ads' ),
133 $button_class,
134 ];
135
136 $submenu['advanced-ads'][] = [
137 __( 'Licenses', 'advanced-ads' ),
138 Conditional::user_cap( 'advanced_ads_manage_options' ),
139 $base_url . '/license',
140 __( 'Licenses', 'advanced-ads' ),
141 $button_class,
142 ];
143 }
144 }
145