PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.7.19
Admin Columns v4.7.19
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 / ScreenController.php
codepress-admin-columns / classes Last commit date
Admin 6 months ago Ajax 6 months ago ApplyFilter 6 months ago Asset 6 months ago Capabilities 6 months ago Check 6 months ago Column 6 months ago ColumnRepository 6 months ago ColumnSize 6 months ago Controller 6 months ago Deprecated 6 months ago Entity 6 months ago Exception 6 months ago Form 6 months ago Helper 6 months ago Integration 6 months ago ListScreen 6 months ago ListScreenFactory 6 months ago ListScreenRepository 6 months ago ListTable 6 months ago Message 6 months ago Meta 6 months ago Nonce 6 months ago Plugin 6 months ago Preferences 6 months ago Promo 6 months ago Relation 6 months ago Request 6 months ago RequestHandler 6 months ago Response 6 months ago Sanitize 6 months ago Screen 6 months ago Service 6 months ago Settings 6 months ago Storage 6 months ago Table 6 months ago ThirdParty 6 months ago Transient 6 months ago Type 6 months ago View 6 months ago AdminColumns.php 6 months ago ArrayIterator.php 6 months ago Capabilities.php 6 months ago Collection.php 6 months ago Column.php 6 months ago ColumnGroups.php 6 months ago ColumnRepository.php 6 months ago Config.php 6 months ago Container.php 6 months ago DefaultColumnsRepository.php 6 months ago Dependencies.php 6 months ago Expirable.php 6 months ago Groups.php 6 months ago Helper.php 6 months ago Integration.php 6 months ago IntegrationRepository.php 6 months ago Integrations.php 6 months ago Iterator.php 6 months ago ListScreen.php 6 months ago ListScreenCollection.php 6 months ago ListScreenFactory.php 6 months ago ListScreenGroupsFactory.php 6 months ago ListScreenPost.php 6 months ago ListScreenRepository.php 6 months ago ListScreenRepositoryWritable.php 6 months ago ListTable.php 6 months ago ListTableFactory.php 6 months ago Message.php 6 months ago MetaType.php 6 months ago Middleware.php 6 months ago OpCacheInvalidateTrait.php 6 months ago PluginActionLinks.php 6 months ago PluginActionUpgrade.php 6 months ago PluginUpdate.php 6 months ago PostType.php 6 months ago PostTypeRepository.php 6 months ago Preferences.php 6 months ago Promo.php 6 months ago PromoCollection.php 6 months ago Registerable.php 6 months ago Relation.php 6 months ago Renderable.php 6 months ago Request.php 6 months ago RequestAjaxHandler.php 6 months ago RequestAjaxHandlers.php 6 months ago RequestAjaxParser.php 6 months ago Sanitize.php 6 months ago Screen.php 6 months ago ScreenController.php 6 months ago Services.php 6 months ago Stringable.php 6 months ago Transient.php 6 months ago TypedArrayIterator.php 6 months ago View.php 6 months ago ViewCollection.php 6 months ago WpListTableFactory.php 6 months ago
ScreenController.php
89 lines
1 <?php
2
3 namespace AC;
4
5 use AC\ColumnRepository\Sort\ManualOrder;
6 use AC\ListScreen\ManageValue;
7
8 class ScreenController implements Registerable
9 {
10
11 /**
12 * @var ListScreen
13 */
14 private $list_screen;
15
16 /**
17 * @var array
18 */
19 private $headings = [];
20
21 /**
22 * @var DefaultColumnsRepository
23 */
24 private $default_columns;
25
26 public function __construct(ListScreen $list_screen)
27 {
28 $this->list_screen = $list_screen;
29 $this->default_columns = new DefaultColumnsRepository();
30 }
31
32 public function register(): void
33 {
34 // Headings
35 add_filter($this->list_screen->get_heading_hookname(), [$this, 'add_headings'], 200);
36
37 // Values
38 if ($this->list_screen instanceof ManageValue) {
39 $this->list_screen->manage_value()->register();
40 }
41
42 do_action('ac/table/list_screen', $this->list_screen);
43 }
44
45 /**
46 * @param $columns
47 *
48 * @return array
49 * @since 2.0
50 */
51 public function add_headings($columns)
52 {
53 if (empty($columns)) {
54 return $columns;
55 }
56
57 if ( ! wp_doing_ajax()) {
58 $this->default_columns->update($this->list_screen->get_key(), $columns);
59 }
60
61 // Run once
62 if ($this->headings) {
63 return $this->headings;
64 }
65
66 // Nothing stored. Show default columns on screen.
67 if ( ! $this->list_screen->get_settings()) {
68 return $columns;
69 }
70
71 // Add mandatory checkbox
72 if (isset($columns['cb'])) {
73 $this->headings['cb'] = $columns['cb'];
74 }
75
76 $column_repository = new ColumnRepository($this->list_screen);
77
78 $args = [
79 ColumnRepository::ARG_SORT => new ManualOrder($this->list_screen->get_id()),
80 ];
81
82 foreach ($column_repository->find_all($args) as $column) {
83 $this->headings[$column->get_name()] = $column->get_custom_label();
84 }
85
86 return apply_filters('ac/headings', $this->headings, $this->list_screen);
87 }
88
89 }