PluginProbe
Disk Usage Insights / 1.7
Disk Usage Insights v1.7
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 / Domain / SnapshotRepository.php

SnapshotRepository.php in Disk Usage Insights 1.7, at src/Domain/SnapshotRepository.php

35 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Mgleis\DiskUsageInsights\Domain;
4
5 use Mgleis\PhpSqliteKeyValueStore\KeyValueStore;
6
7 class SnapshotRepository {
8
9 private KeyValueStore $kvstore;
10
11 public function __construct(\PDO $pdo) {
12 $this->kvstore = new KeyValueStore($pdo);
13 }
14
15 public function load(): Snapshot {
16 $s = new Snapshot();
17 $s->version = $this->kvstore->get('snapshot-version', Snapshot::CURRENT_VERSION);
18 $s->root = $this->kvstore->get('snapshot-root', '');
19 $s->phase = (int) $this->kvstore->get('snapshot-phase', 0);
20 $s->wpcorefiles = $this->kvstore->get('snapshot-wpcorefiles', []);
21 $s->collectPhaseFinished = $this->kvstore->get('snapshot-collectPhaseFinished', 0);
22
23 return $s;
24 }
25
26 public function save(Snapshot $snapshot) {
27 $this->kvstore->set('snapshot-version', $snapshot->version);
28 $this->kvstore->set('snapshot-root', $snapshot->root);
29 $this->kvstore->set('snapshot-phase', $snapshot->phase);
30 $this->kvstore->set('snapshot-wpcorefiles', $snapshot->wpcorefiles);
31 $this->kvstore->set('snapshot-collectPhaseFinished', $snapshot->collectPhaseFinished);
32 }
33
34 }
35