Added check if all dependencies are installed and config.php/config-dist.php exists

This commit is contained in:
Marc Ole Bulling 2020-03-22 16:20:12 +01:00
parent dcfd9d848d
commit 71b7a24462
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,38 @@
<?php
class ERequirementNotMet extends Exception {
}
class PrerequisiteChecker {
public function checkRequirements() {
self::checkForConfigFile();
self::checkForConfigDistFile();
self::checkForComposer();
self::checkForYarn();
}
private function checkForConfigFile() {
if (!file_exists(__DIR__ . "/../data/config.php"))
throw new ERequirementNotMet("/data/config.php not found. Have you copied config-dist.php to the data directory and renamed it to config.php?");
}
private function checkForConfigDistFile() {
if (!file_exists(__DIR__ . "/../config-dist.php"))
throw new ERequirementNotMet("config-dist.php not found. Please do not remove this file.");
}
private function checkForComposer() {
if (!file_exists(__DIR__ . "/../vendor/autoload.php"))
throw new ERequirementNotMet("/vendor/autoload.php not found. Have you run Composer?");
}
private function checkForYarn() {
if (!file_exists(__DIR__ . "/../public/node_modules"))
throw new ERequirementNotMet("/public/node_modules not found. Have you run Yarn?");
}
}
?>

View File

@ -1,3 +1,13 @@
<?php
require_once __DIR__ . '/../helpers/PrerequisiteChecker.php';
try {
(new PrerequisiteChecker)->checkRequirements();
} catch (ERequirementNotMet $e) {
die("Unable to run grocy: " . $e->getMessage());
}
require_once __DIR__ . '/../app.php';
?>