PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
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 3 months ago class-ads.php 3 months ago class-dashboard.php 3 months ago class-groups.php 3 months ago class-onboarding.php 3 months ago class-placements.php 3 months ago class-settings.php 3 months ago class-support.php 3 months ago class-tools.php 3 months ago
class-groups.php
164 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\Constants;
13 use AdvancedAds\Abstracts\Screen;
14 use AdvancedAds\Admin\Groups\Create_Modal;
15 use AdvancedAds\Utilities\Conditional;
16 use AdvancedAds\Admin\Groups\List_Table;
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();
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|Groups_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 $wp_screen->taxonomy = Constants::TAXONOMY_GROUP;
109 $wp_screen->post_type = Constants::POST_TYPE_AD;
110 $this->list_table = new List_Table();
111 }
112
113 return $this->list_table;
114 }
115
116 /**
117 * Add screen options.
118 *
119 * @return void
120 */
121 public function add_screen_options(): void {
122 // Early bail!!
123 $is_screen = wp_advads()->screens->is_screen( $this->get_id() );
124 if ( ! $is_screen ) {
125 return;
126 }
127
128 add_screen_option(
129 'per_page',
130 [
131 'default' => 20,
132 'option' => 'edit_' . Constants::TAXONOMY_GROUP . '_per_page',
133 ]
134 );
135 }
136
137 /**
138 * Get page header arguments
139 *
140 * @return array
141 */
142 public function define_header_args(): array {
143 return [
144 'title' => __( 'Your Groups', 'advanced-ads' ),
145 'breadcrumb_title' => __( 'Groups', 'advanced-ads' ),
146 'manual_url' => 'https://wpadvancedads.com/manual/ad-groups/',
147 ];
148 }
149
150 /**
151 * Add actions to the header
152 *
153 * @return void
154 */
155 public function header_actions(): void {
156 ?>
157 <a href="#modal-group-new" data-dialog="modal-group-new" class="button button-primary advads-button">
158 <span class="dashicons dashicons-plus -ml-1.5 leading-6"></span>
159 <span><?php esc_html_e( 'New Ad Group', 'advanced-ads' ); ?></span>
160 </a>
161 <?php
162 }
163 }
164