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 / abstracts / abstract-screen.php
advanced-ads / includes / abstracts Last commit date
abstract-ad.php 1 year ago abstract-admin-list-table.php 1 year ago abstract-data.php 1 year ago abstract-factory.php 1 year ago abstract-group.php 1 year ago abstract-placement-type.php 1 year ago abstract-placement.php 1 year ago abstract-screen.php 1 year ago abstract-types.php 1 year ago index.php 2 years ago
abstract-screen.php
178 lines
1 <?php
2 /**
3 * Abstracts Screen.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds\Abstracts;
11
12 use AdvancedAds\Framework\Utilities\Params;
13
14 defined( 'ABSPATH' ) || exit;
15
16 /**
17 * Abstracts Screen.
18 */
19 abstract class Screen {
20
21 /**
22 * Hold hook.
23 *
24 * @var string
25 */
26 private $hook = '';
27
28 /**
29 * Hold tabs.
30 *
31 * @var array
32 */
33 private $tabs = [];
34
35 /**
36 * Get the hook.
37 *
38 * @return string
39 */
40 public function get_hook(): string {
41 return $this->hook;
42 }
43
44 /**
45 * Set the hook.
46 *
47 * @param string $hook Hook to set.
48 *
49 * @return void
50 */
51 public function set_hook( $hook ): void {
52 $this->hook = $hook;
53 }
54
55 /**
56 * Get the tabs.
57 *
58 * @return array
59 */
60 public function get_tabs(): array {
61 return $this->tabs;
62 }
63
64 /**
65 * Set the tabs.
66 *
67 * @param array $tabs Array of screen tabs.
68 *
69 * @return void
70 */
71 public function set_tabs( $tabs ): void {
72 $this->tabs = apply_filters( 'advanced-ads-screen-tabs-' . $this->get_id(), $tabs );
73 }
74
75 /**
76 * Screen unique id.
77 *
78 * @return string
79 */
80 abstract public function get_id(): string;
81
82 /**
83 * Register screen into WordPress admin area.
84 *
85 * @return void
86 */
87 abstract public function register_screen(): void;
88
89 /**
90 * Enqueue assets
91 *
92 * @return void
93 */
94 public function enqueue_assets(): void {}
95
96 /**
97 * Display screen content.
98 *
99 * @return void
100 */
101 public function display(): void {}
102
103 /**
104 * Get the order value.
105 *
106 * @return int The order value, which is 10.
107 */
108 public function get_order(): int {
109 return 10;
110 }
111
112 /**
113 * Get current tab id.
114 *
115 * @return string
116 */
117 public function get_current_tab_id(): string {
118 $first = current( array_keys( $this->tabs ) );
119
120 return Params::get( 'sub_page', $first );
121 }
122
123 /**
124 * Get admin page header
125 *
126 * @param array $args Arguments to be used in the template.
127 *
128 * @return void
129 */
130 public function get_header( $args = [] ): void {
131 $args = wp_parse_args(
132 $args,
133 [
134 'manual_url' => '',
135 'screen' => get_current_screen(),
136 ]
137 );
138
139 extract( $args, EXTR_SKIP ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
140
141 include ADVADS_ABSPATH . 'views/admin/ui/header.php';
142 }
143
144 /**
145 * Render tabs menu
146 *
147 * @param array $args Arguments to be used in the template.
148 *
149 * @return void
150 */
151 public function get_tabs_menu( $args = [] ): void { // phpcs:ignore
152 $tabs = $this->tabs;
153 $active = $this->get_current_tab_id();
154
155 include ADVADS_ABSPATH . 'views/admin/ui/header-tabs.php';
156 }
157
158 /**
159 * Render tabs content
160 *
161 * @param array $args Arguments to be used in the template.
162 *
163 * @return void
164 */
165 public function get_tab_content( $args = [] ): void { // phpcs:ignore
166 $active = $this->get_current_tab_id();
167
168 echo '<div class="advads-tab-content">';
169 if ( isset( $this->tabs[ $active ]['callback'] ) ) {
170 call_user_func( $this->tabs[ $active ]['callback'] );
171 } elseif ( isset( $this->tabs[ $active ]['filename'] ) ) {
172 include ADVADS_ABSPATH . $this->tabs[ $active ]['filename'];
173 }
174
175 echo '</div>';
176 }
177 }
178