PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 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 / Service / SaveHeadings.php
codepress-admin-columns / classes / Service Last commit date
AdminBar.php 1 day ago AdminBarEditColumns.php 1 day ago Colors.php 1 day ago CommonAssets.php 1 day ago CurrentTable.php 1 day ago ManageHeadings.php 1 day ago ManageValue.php 1 day ago NoticeChecks.php 1 day ago PluginUpdate.php 1 day ago PromoChecks.php 1 day ago QuickEdit.php 1 day ago SaveHeadings.php 1 day ago Setup.php 1 day ago TableRows.php 1 day ago Tooltips.php 1 day ago View.php 1 day ago
SaveHeadings.php
67 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Service;
6
7 use AC\Registerable;
8 use AC\Request;
9 use AC\Storage\Repository\OriginalColumnsRepository;
10 use AC\Table\SaveHeadingFactory;
11 use AC\TableScreen;
12 use AC\Type\OriginalColumns;
13
14 class SaveHeadings implements Registerable
15 {
16 private static array $factories = [];
17
18 private OriginalColumnsRepository $repository;
19
20 public function __construct(OriginalColumnsRepository $repository)
21 {
22 $this->repository = $repository;
23 }
24
25 public static function add(SaveHeadingFactory $factory): void
26 {
27 self::$factories[] = $factory;
28 }
29
30 public function register(): void
31 {
32 add_action('ac/table/screen', [$this, 'handle']);
33 }
34
35 public function get_manage_column_service(TableScreen $table_screen): ?Registerable
36 {
37 foreach (array_reverse(self::$factories) as $factory) {
38 if ($factory->can_create($table_screen)) {
39 return $factory->create($table_screen);
40 }
41 }
42
43 return null;
44 }
45
46 public function handle(TableScreen $table_screen): void
47 {
48 $request = new Request();
49
50 if ('1' !== $request->get('save-default-headings')) {
51 return;
52 }
53
54 // Save an empty array in case the hook does not run properly.
55 $this->repository->update($table_screen->get_id(), new OriginalColumns());
56
57 $service = $this->get_manage_column_service($table_screen);
58
59 ob_start(); // prevent any output
60
61 if ($service) {
62 $service->register();
63 }
64 }
65
66 }
67