PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Admin / Asset / Columns.php
codepress-admin-columns / classes / Admin / Asset Last commit date
Addons.php 5 years ago Columns.php 5 years ago
Columns.php
81 lines
1 <?php
2
3 namespace AC\Admin\Asset;
4
5 use AC;
6 use AC\Asset\Location;
7 use AC\Asset\Script;
8 use AC\DefaultColumnsRepository;
9 use AC\ListScreen;
10 use AC\ListScreenTypes;
11
12 class Columns extends Script {
13
14 /**
15 * @var DefaultColumnsRepository
16 */
17 private $default_columns;
18
19 /**
20 * @var ListScreen
21 */
22 private $list_screen;
23
24 public function __construct( $handle, Location $location, DefaultColumnsRepository $default_columns, ListScreen $list_screen ) {
25 parent::__construct( $handle, $location, [
26 'jquery',
27 'jquery-ui-slider',
28 'jquery-ui-sortable',
29 'wp-pointer',
30 ] );
31
32 $this->default_columns = $default_columns;
33 $this->list_screen = $list_screen;
34 }
35
36 private function get_list_screens() {
37 return is_network_admin()
38 ? ListScreenTypes::instance()->get_list_screens( [ ListScreenTypes::ARG_NETWORK => true ] )
39 : ListScreenTypes::instance()->get_list_screens( [ ListScreenTypes::ARG_SITE => true ] );
40 }
41
42 public function register() {
43 parent::register();
44
45 if ( null === $this->list_screen ) {
46 return;
47 }
48
49 $params = [
50 '_ajax_nonce' => wp_create_nonce( AC\Ajax\Handler::NONCE_ACTION ),
51 'list_screen' => $this->list_screen->get_key(),
52 'layout' => $this->list_screen->has_id() ? $this->list_screen->get_id()->get_id() : null,
53 'original_columns' => [],
54 'uninitialized_list_screens' => [],
55 'i18n' => [
56 'clone' => __( '%s column is already present and can not be duplicated.', 'codepress-admin-columns' ),
57 'error' => __( 'Invalid response.', 'codepress-admin-columns' ),
58 'errors' => [
59 'save_settings' => __( 'There was an error during saving the column settings.', 'codepress-admin-columns' ),
60 'loading_column' => __( 'The column could not be loaded because of an unknown error', 'codepress-admin-columns' ),
61 ],
62 ],
63 ];
64
65 foreach ( $this->get_list_screens() as $list_screen ) {
66 $list_key = $list_screen->get_key();
67
68 if ( $this->default_columns->exists( $list_key ) ) {
69 continue;
70 }
71
72 $params['uninitialized_list_screens'][ $list_key ] = [
73 'screen_link' => add_query_arg( [ 'save-default-headings' => '1', 'list_screen' => $list_key ], $list_screen->get_screen_link() ),
74 'label' => $list_screen->get_label(),
75 ];
76 }
77
78 wp_localize_script( 'ac-admin-page-columns', 'AC', $params );
79 }
80
81 }