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 / pages / class-groups.php
advanced-ads / includes / admin / pages Last commit date
class-ads-editing.php 4 weeks ago class-ads.php 4 weeks ago class-dashboard.php 4 weeks ago class-groups.php 4 weeks ago class-onboarding.php 5 months ago class-placements.php 4 weeks ago class-settings.php 4 weeks ago class-tools.php 5 months ago
class-groups.php
165 lines
1 <?php
2 /**
3 * Groups screen.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds\Admin\Pages;
11
12 use AdvancedAds\Abstracts\Screen;
13 use AdvancedAds\Admin\Groups\Create_Modal;
14 use AdvancedAds\Admin\Groups\List_Table;
15 use AdvancedAds\Constants;
16 use AdvancedAds\Utilities\Conditional;
17
18 defined( 'ABSPATH' ) || exit;
19
20 /**
21 * Groups.
22 */
23 class Groups extends Screen {
24
25 /**
26 * Hold table object.
27 *
28 * @var null|List_Table
29 */
30 private $list_table = null;
31
32 /**
33 * Screen unique id.
34 *
35 * @return string
36 */
37 public function get_id(): string {
38 return 'groups';
39 }
40
41 /**
42 * Register screen into WordPress admin area.
43 *
44 * @return void
45 */
46 public function register_screen(): void {
47 $hook = add_submenu_page(
48 ADVADS_SLUG,
49 __( 'Ad Groups & Rotations', 'advanced-ads' ),
50 __( 'Groups & Rotation', 'advanced-ads' ),
51 Conditional::user_cap( 'advanced_ads_edit_ads' ),
52 ADVADS_SLUG . '-groups',
53 [ $this, 'display' ]
54 );
55
56 $this->set_hook( $hook );
57 add_action( 'current_screen', [ $this, 'add_screen_options' ], 5 );
58 add_action( 'current_screen', [ $this, 'get_list_table' ] );
59 }
60
61 /**
62 * Enqueue assets
63 *
64 * @return void
65 */
66 public function enqueue_assets(): void {
67 wp_advads()->registry->enqueue_style( 'screen-groups-listing' );
68 wp_advads()->registry->enqueue_script( 'screen-groups-listing' );
69
70 // Localize texts.
71 $i18n = [
72 'groups' => [
73 'save' => __( 'Save', 'advanced-ads' ),
74 'saveNew' => __( 'Save New Group', 'advanced-ads' ),
75 'updated' => __( 'Group updated', 'advanced-ads' ),
76 'deleted' => __( 'Group deleted', 'advanced-ads' ),
77 /* translators: an ad group title. */
78 'confirmation' => __( 'You are about to permanently delete %s', 'advanced-ads' ),
79 ],
80 ];
81 wp_advads_json_add( 'i18n', $i18n );
82 }
83
84 /**
85 * Display screen content.
86 *
87 * @return void
88 */
89 public function display(): void {
90 global $wp_list_table;
91
92 $wp_list_table = $this->get_list_table(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
93 ( new Create_Modal() )->hooks();
94
95 include_once ADVADS_ABSPATH . 'views/admin/groups/page.php';
96 }
97
98 /**
99 * Get list table object
100 *
101 * @return null|List_Table
102 */
103 public function get_list_table() {
104 $is_screen = wp_advads()->screens->is_screen( $this->get_id() );
105 $wp_screen = get_current_screen();
106 if ( $is_screen && null === $this->list_table ) {
107 wp_advads()->registry->enqueue_script( 'groups' );
108
109 $wp_screen->taxonomy = Constants::TAXONOMY_GROUP;
110 $wp_screen->post_type = Constants::POST_TYPE_AD;
111 $this->list_table = new List_Table();
112 }
113
114 return $this->list_table;
115 }
116
117 /**
118 * Add screen options.
119 *
120 * @return void
121 */
122 public function add_screen_options(): void {
123 // Early bail!!
124 $is_screen = wp_advads()->screens->is_screen( $this->get_id() );
125 if ( ! $is_screen ) {
126 return;
127 }
128
129 add_screen_option(
130 'per_page',
131 [
132 'default' => 20,
133 'option' => 'edit_' . Constants::TAXONOMY_GROUP . '_per_page',
134 ]
135 );
136 }
137
138 /**
139 * Get page header arguments
140 *
141 * @return array<string, mixed>
142 */
143 public function define_header_args(): array {
144 return [
145 'title' => __( 'Your Groups', 'advanced-ads' ),
146 'breadcrumb_title' => __( 'Groups', 'advanced-ads' ),
147 'manual_url' => 'https://wpadvancedads.com/manual/ad-groups/',
148 ];
149 }
150
151 /**
152 * Add actions to the header
153 *
154 * @return void
155 */
156 public function header_actions(): void {
157 ?>
158 <a href="#modal-group-new" data-dialog="modal-group-new" class="button button-primary advads-button">
159 <span class="dashicons dashicons-plus -ml-1.5 leading-6"></span>
160 <span><?php esc_html_e( 'New Ad Group', 'advanced-ads' ); ?></span>
161 </a>
162 <?php
163 }
164 }
165