From d16f3c2daf4b1ceb246bf0c00466e8663a56f402 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Sun, 22 Sep 2019 08:21:15 +0200 Subject: [PATCH] Optimized demo instance localization & data handling --- app.php | 12 -------- services/DemoDataGeneratorService.php | 43 ++++++++++++++++----------- 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/app.php b/app.php index d8760404..c4c54df7 100644 --- a/app.php +++ b/app.php @@ -36,18 +36,6 @@ else // Load composer dependencies require_once __DIR__ . '/vendor/autoload.php'; -// Definitions for the official demo instances -// running on ".demo.grocy.info" and ".demo-prerelease.grocy.info -// The language should automatically be determined by the subdomain -if (string_ends_with(strtolower($_SERVER['HTTP_HOST']), 'grocy.info')) -{ - $cultureBySubdomain = explode('.', $_SERVER['HTTP_HOST'])[0]; - if (file_exists(__DIR__ . "/localization/$cultureBySubdomain") && is_dir(__DIR__ . "/localization/$cultureBySubdomain")) - { - define('GROCY_CULTURE', $cultureBySubdomain); - } -} - // Load config files require_once GROCY_DATAPATH . '/config.php'; require_once __DIR__ . '/config-dist.php'; // For not in own config defined values we use the default ones diff --git a/services/DemoDataGeneratorService.php b/services/DemoDataGeneratorService.php index 2fa8712f..11b72273 100644 --- a/services/DemoDataGeneratorService.php +++ b/services/DemoDataGeneratorService.php @@ -295,24 +295,18 @@ class DemoDataGeneratorService extends BaseService mkdir($productPicturesFolder); mkdir($equipmentManualsFolder); mkdir($recipePicturesFolder); - $sslOptions = array( - 'ssl' => array( - 'verify_peer' => false, - 'verify_peer_name' => false, - ), - ); - file_put_contents("$productPicturesFolder/cookies.jpg", file_get_contents('https://releases.grocy.info/demoresources/cookies.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$productPicturesFolder/cucumber.jpg", file_get_contents('https://releases.grocy.info/demoresources/cucumber.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$productPicturesFolder/gummybears.jpg", file_get_contents('https://releases.grocy.info/demoresources/gummybears.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$productPicturesFolder/paprika.jpg", file_get_contents('https://releases.grocy.info/demoresources/paprika.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$productPicturesFolder/tomato.jpg", file_get_contents('https://releases.grocy.info/demoresources/tomato.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$equipmentManualsFolder/loremipsum.pdf", file_get_contents('https://releases.grocy.info/demoresources/loremipsum.pdf', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/pizza.jpg", file_get_contents('https://releases.grocy.info/demoresources/pizza.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/sandwiches.jpg", file_get_contents('https://releases.grocy.info/demoresources/sandwiches.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/pancakes.jpg", file_get_contents('https://releases.grocy.info/demoresources/pancakes.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/spaghetti.jpg", file_get_contents('https://releases.grocy.info/demoresources/spaghetti.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/chocolate_sauce.jpg", file_get_contents('https://releases.grocy.info/demoresources/chocolate_sauce.jpg', false, stream_context_create($sslOptions))); - file_put_contents("$recipePicturesFolder/pancakes_chocolate_sauce.jpg", file_get_contents('https://releases.grocy.info/demoresources/pancakes_chocolate_sauce.jpg', false, stream_context_create($sslOptions))); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/cookies.jpg', "$productPicturesFolder/cookies.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/cucumber.jpg', "$productPicturesFolder/cucumber.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/gummybears.jpg', "$productPicturesFolder/gummybears.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/paprika.jpg', "$productPicturesFolder/paprika.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/tomato.jpg', "$productPicturesFolder/tomato.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/loremipsum.pdf', "$equipmentManualsFolder/loremipsum.pdf"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/pizza.jpg', "$recipePicturesFolder/pizza.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/sandwiches.jpg', "$recipePicturesFolder/sandwiches.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/pancakes.jpg', "$recipePicturesFolder/pancakes.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/spaghetti.jpg', "$recipePicturesFolder/spaghetti.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/chocolate_sauce.jpg', "$recipePicturesFolder/chocolate_sauce.jpg"); + $this->DownloadFileIfNotAlreadyExists('https://releases.grocy.info/demoresources/pancakes_chocolate_sauce.jpg', "$recipePicturesFolder/pancakes_chocolate_sauce.jpg"); } } @@ -332,4 +326,17 @@ class DemoDataGeneratorService extends BaseService $localizedText = $this->LocalizationService->__n($number, $singularForm, $pluralForm); return str_replace("'", "''", $localizedText); } + + private function DownloadFileIfNotAlreadyExists($sourceUrl, $destinationPath) + { + if (!file_exists($destinationPath)) + { + file_put_contents($destinationPath, file_get_contents($sourceUrl, false, stream_context_create(array( + 'ssl' => array( + 'verify_peer' => false, + 'verify_peer_name' => false, + ), + )))); + } + } }