PluginProbe
Disk Usage Insights / 1.6
Disk Usage Insights v1.6
trunk 1.0 1.10 1.11 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
disk-usage-insights / src / Frontend / Controller / ShowResultsTableController.php

ShowResultsTableController.php in Disk Usage Insights 1.6, at src/Frontend/Controller/ShowResultsTableController.php

58 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Mgleis\DiskUsageInsights\Frontend\Controller;
3
4 use Mgleis\DiskUsageInsights\Domain\DatabaseRepository;
5 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowFoldersMostFilesController;
6 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowLargestFilesController;
7 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowLargestFoldersFilesOnlyController;
8 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowLargestFoldersIncludingSubFoldersController;
9 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowLargestPluginsController;
10 use Mgleis\DiskUsageInsights\Frontend\Controller\Report\ShowLargestThemesController;
11 use Mgleis\DiskUsageInsights\Plugin;
12
13
14 class ShowResultsTableController {
15
16 public function execute() {
17 // TODO Security
18
19 $WP_NONCE = wp_create_nonce(Plugin::NONCE);
20 $WP_ADMIN_AJAX_URL = admin_url('admin-ajax.php');
21 $WP_SNAPSHOT_FILE = sanitize_file_name(wp_unslash($_GET['snapshot'] ?? ''));
22
23 $database = (new DatabaseRepository())->loadDatabase($WP_SNAPSHOT_FILE);
24 $sn = $database->snapshotRepository->load();
25 if ($sn->collectPhaseFinished !== 1) {
26 echo "Cannot read database because it is corrupt/incomplete. Please create a new snapshot.";
27 exit;
28 }
29 $table = sanitize_file_name(wp_unslash($_GET['table'] ?? ''));
30
31 switch ($table) {
32 case 'largest-files':
33 (new ShowLargestFilesController())->execute($database);
34 break;
35 case 'largest-folders-files':
36 (new ShowLargestFoldersFilesOnlyController())->execute($database);
37 break;
38 case 'largest-folders-sub-folders':
39 (new ShowLargestFoldersIncludingSubFoldersController())->execute($database);
40 break;
41 case 'folders-most-files':
42 (new ShowFoldersMostFilesController())->execute($database);
43 break;
44 case 'largest-themes':
45 (new ShowLargestThemesController())->execute($database);
46 break;
47 case 'largest-plugins':
48 (new ShowLargestPluginsController())->execute($database);
49 break;
50 default:
51 echo "unknown table";
52 break;
53 }
54
55 wp_die();
56 }
57
58 }