summaryrefslogtreecommitdiff
path: root/src/Helpers
diff options
context:
space:
mode:
Diffstat (limited to 'src/Helpers')
-rw-r--r--src/Helpers/Version.php42
-rw-r--r--src/Helpers/VersionServiceProvider.php15
2 files changed, 57 insertions, 0 deletions
diff --git a/src/Helpers/Version.php b/src/Helpers/Version.php
new file mode 100644
index 00000000..97fe6ef3
--- /dev/null
+++ b/src/Helpers/Version.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Engelsystem\Helpers;
+
+use Engelsystem\Config\Config;
+
+class Version
+{
+ /** @var Config */
+ protected $config;
+
+ /** @vat string */
+ protected $storage;
+
+ /** @var string */
+ protected $versionFile = 'VERSION';
+
+ /**
+ * @param string $storage
+ * @param Config $config
+ */
+ public function __construct(string $storage, Config $config)
+ {
+ $this->storage = $storage;
+ $this->config = $config;
+ }
+
+ /**
+ * @return string
+ */
+ public function getVersion()
+ {
+ $file = $this->storage . DIRECTORY_SEPARATOR . $this->versionFile;
+
+ $version = 'n/a';
+ if (file_exists($file)) {
+ $version = trim(file_get_contents($file));
+ }
+
+ return $this->config->get('version', $version);
+ }
+}
diff --git a/src/Helpers/VersionServiceProvider.php b/src/Helpers/VersionServiceProvider.php
new file mode 100644
index 00000000..41e10158
--- /dev/null
+++ b/src/Helpers/VersionServiceProvider.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Engelsystem\Helpers;
+
+use Engelsystem\Container\ServiceProvider;
+
+class VersionServiceProvider extends ServiceProvider
+{
+ public function register()
+ {
+ $this->app->when(Version::class)
+ ->needs('$storage')
+ ->give($this->app->get('path.storage.app'));
+ }
+}