PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.19.2
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.19.2
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / nitropack-sdk / NitroPack / SDK / ElementRevision.php
nitropack / nitropack-sdk / NitroPack / SDK Last commit date
Api 7 months ago Integrations 1 year ago StorageDriver 1 year ago Url 1 year ago Utils 1 year ago data 1 year ago Api.php 1 year ago Backlog.php 1 year ago BacklogReplayTimeoutException.php 1 year ago ChallengeProcessingException.php 1 year ago ChallengeVerificationException.php 1 year ago ConfigFetcherException.php 1 year ago Crypto.php 1 year ago Device.php 1 year ago DeviceType.php 1 year ago ElementRevision.php 1 year ago EmptyConfigException.php 1 year ago ExcludeEntry.php 1 year ago ExcludeOperationType.php 1 year ago FileHandle.php 1 year ago Filesystem.php 1 year ago HealthStatus.php 1 year ago IntegrationUrl.php 1 year ago NitroPack.php 5 months ago NoConfigException.php 1 year ago Pagecache.php 5 months ago PurgeType.php 1 year ago ServiceDownException.php 1 year ago StorageException.php 1 year ago VariationCookieException.php 1 year ago WebhookException.php 1 year ago Website.php 1 year ago
ElementRevision.php
70 lines
1 <?php
2 namespace NitroPack\SDK;
3
4 /**
5 * Class Revision
6 * @package NitroPack\WordPress
7 */
8 class ElementRevision
9 {
10 private $siteId;
11 private $revisionFile;
12
13 private $revisions;
14
15 /**
16 * Revision constructor.
17 * @param $siteId
18 * @param $dataDir
19 */
20 public function __construct($siteId, $revisionFile) {
21 $this->siteId = $siteId;
22 $this->revisionFile = $revisionFile;
23 $this->revisions = [];
24 }
25
26 /**
27 * @return string
28 */
29 public function get() {
30 if (empty($this->revisions)) {
31 $this->load();
32 }
33
34 if (!empty($this->revisions[$this->siteId])) {
35 return $this->revisions[$this->siteId];
36 }
37
38 $this->save("nitro-" . substr(md5(microtime(true)), 0, 7));
39
40 return $this->revisions[$this->siteId];
41 }
42
43 public function refresh() {
44 $this->save('');
45 }
46
47 private function load() {
48 try {
49 if (Filesystem::fileExists($this->revisionFile)) {
50 $this->revisions = json_decode(Filesystem::fileGetContents($this->revisionFile), true);
51 } else {
52 $this->revisions = [];
53 }
54 } catch (\Exception $e) {
55 $this->revisions = [];
56 }
57 }
58
59 /**
60 * @param string $revision
61 */
62 private function save($revision) {
63 $this->revisions[$this->siteId] = $revision;
64 try {
65 Filesystem::filePutContents($this->revisionFile, json_encode($this->revisions));
66 } catch (\Exception $e) {
67 }
68 }
69 }
70