From 027b6140506ffcffab7373954fbb6d416345c413 Mon Sep 17 00:00:00 2001 From: Aaron Moses Date: Thu, 26 Dec 2019 02:42:11 +0000 Subject: [PATCH] Fix for start up bug. Re factoring singleton code had brroken due to scope of clas var. --- migrations/0027.php | 2 +- migrations/0031.php | 4 ++-- migrations/0063.php | 6 +++--- services/BaseService.php | 9 +++++---- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/migrations/0027.php b/migrations/0027.php index 3f294cd7..8d9079f1 100644 --- a/migrations/0027.php +++ b/migrations/0027.php @@ -2,7 +2,7 @@ // This is executed inside DatabaseMigrationService class/context -$db = $this->DatabaseService->GetDbConnection(); +$db = $this->getDatabaseService()->GetDbConnection(); if (defined('GROCY_HTTP_USER')) { diff --git a/migrations/0031.php b/migrations/0031.php index 043c0002..03dfcd18 100644 --- a/migrations/0031.php +++ b/migrations/0031.php @@ -3,9 +3,9 @@ // This is executed inside DatabaseMigrationService class/context use \Grocy\Services\LocalizationService; -$localizationService = new LocalizationService(GROCY_CULTURE); +$localizationService = $this->getLocalizationService(); -$db = $this->DatabaseService->GetDbConnection(); +$db = $this->getDatabaseService()->GetDbConnection(); if ($db->quantity_units()->count() === 0) { diff --git a/migrations/0063.php b/migrations/0063.php index 1a9bb94b..6aaac16d 100644 --- a/migrations/0063.php +++ b/migrations/0063.php @@ -3,11 +3,11 @@ // This is executed inside DatabaseMigrationService class/context use \Grocy\Services\LocalizationService; -$localizationService = new LocalizationService(GROCY_CULTURE); +$localizationService = $this->getLocalizationService(); -$db = $this->DatabaseService->GetDbConnection(); +$db = $this->getDatabaseService()->GetDbConnection(); -$defaultShoppingList = $this->Database->shopping_lists()->where('id = 1')->fetch(); +$defaultShoppingList = $db->shopping_lists()->where('id = 1')->fetch(); $defaultShoppingList->update(array( 'name' => $localizationService->__t('Shopping list') )); diff --git a/services/BaseService.php b/services/BaseService.php index 3f285309..bc597fe0 100644 --- a/services/BaseService.php +++ b/services/BaseService.php @@ -10,16 +10,17 @@ class BaseService public function __construct() { } - private static $instance = null; + private static $instances = array(); public static function getInstance() { - if (self::$instance == null) + $className = get_called_class(); + if(!isset(self::$instances[$className])) { - self::$instance = new self(); + self::$instances[$className] = new $className(); } - return self::$instance; + return self::$instances[$className]; } protected function getDatabaseService()