PluginProbe
Disk Usage Insights / 1.2
Disk Usage Insights v1.2
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 / ScanController.php

ScanController.php in Disk Usage Insights 1.2, at src/Frontend/Controller/ScanController.php

50 lines 1.5 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\Collect\ScanDirForSubDirsJob;
5 use Mgleis\DiskUsageInsights\Domain\DatabaseRepository;
6 use Mgleis\DiskUsageInsights\Domain\FileEntry;
7 use Mgleis\DiskUsageInsights\Plugin;
8 use Mgleis\DiskUsageInsights\WpHelper;
9
10 class ScanController {
11
12
13 public function scan() {
14 check_ajax_referer(Plugin::NONCE);
15 /*
16 // TODO: Remove Code
17 // OLD v1.1 code:
18 $scanResults = new ScanResults();
19 $scanResults->execute();
20
21 sleep(1);
22 */
23
24 // Create a new Snapshot Database
25 $snapshotName = gmdate('Ymd_His_') . random_int(10000, 99999);
26 $database = (new DatabaseRepository())->loadDatabase($snapshotName);
27 $snapshot = $database->snapshotRepository->load();
28 $snapshot->root = rtrim(ABSPATH, '/');
29 $database->snapshotRepository->save($snapshot);
30
31 // create root entry ""
32 $rootFileEntry = new FileEntry();
33 $rootFileEntry->type = FileEntry::TYPE_DIR;
34 $database->fileEntryRepository->createOrUpdate($rootFileEntry);
35
36 $database->q->push((new ScanDirForSubDirsJob($rootFileEntry->id))->toArray());
37
38 // NEW Code
39 $WP_NONCE = wp_create_nonce(Plugin::NONCE);
40 $WP_ADMIN_AJAX_URL = admin_url('admin-ajax.php');
41 $WP_SNAPSHOT_FILE = $snapshotName;
42 $WP_PLUGIN_URL = WpHelper::getPluginUrl();
43
44 include_once __DIR__ . '/../../../views/scan.php';
45
46 wp_die(); // All ajax handlers should die when finished
47 }
48
49 }
50