diff --git a/app.php b/app.php index 9cba396c..1cb848f0 100644 --- a/app.php +++ b/app.php @@ -74,11 +74,11 @@ $appContainer = new \Slim\Container([ ]); $app = new \Slim\App($appContainer); -$fp = fopen('/www/data/sql.log', 'a'); -fwrite($fp, "!!!Starting up loading app\n"); -fwrite($fp, "!!!".print_r(ini_get_all(),True)."\n"); +#$fp = fopen('/www/data/sql.log', 'a'); +#fwrite($fp, "!!!Starting up loading app\n"); +#fwrite($fp, "!!!".print_r(ini_get_all(),True)."\n"); #fwrite($fp, "!!!".print_r(opcache_get_status(),True)."\n"); -fclose($fp); +#fclose($fp); phpinfo(); diff --git a/controllers/BaseController.php b/controllers/BaseController.php index 77d341d2..fc5be2de 100644 --- a/controllers/BaseController.php +++ b/controllers/BaseController.php @@ -13,7 +13,7 @@ class BaseController $databaseService = DatabaseService::getInstance(); $this->Database = $databaseService->GetDbConnection(); - $localizationService = new LocalizationService(GROCY_CULTURE); + $localizationService = LocalizationService::getInstance(GROCY_CULTURE); $this->LocalizationService = $localizationService; $applicationService = ApplicationService::getInstance(); diff --git a/middleware/ApiKeyAuthMiddleware.php b/middleware/ApiKeyAuthMiddleware.php index f8a4de08..07722081 100644 --- a/middleware/ApiKeyAuthMiddleware.php +++ b/middleware/ApiKeyAuthMiddleware.php @@ -32,7 +32,7 @@ class ApiKeyAuthMiddleware extends BaseMiddleware $validSession = true; $validApiKey = true; $usedApiKey = null; - + $sessionService = new SessionService(); if (!isset($_COOKIE[$this->SessionCookieName]) || !$sessionService->IsValidSession($_COOKIE[$this->SessionCookieName])) { diff --git a/services/BaseService.php b/services/BaseService.php index 185f0b32..a9ddffa5 100644 --- a/services/BaseService.php +++ b/services/BaseService.php @@ -11,7 +11,7 @@ class BaseService $this->DatabaseService = DatabaseService::getInstance(); $this->Database = $this->DatabaseService->GetDbConnection(); - $localizationService = new LocalizationService(GROCY_CULTURE); + $localizationService = LocalizationService::getInstance(GROCY_CULTURE); $this->LocalizationService = $localizationService; } diff --git a/services/FilesService.php b/services/FilesService.php index cd9ebd6d..cecdae3c 100644 --- a/services/FilesService.php +++ b/services/FilesService.php @@ -11,9 +11,9 @@ class FilesService extends BaseService public function __construct() { parent::__construct(); - + $this->StoragePath = GROCY_DATAPATH . '/storage'; - + if (!file_exists($this->StoragePath)) { mkdir($this->StoragePath); diff --git a/services/LocalizationService.php b/services/LocalizationService.php index e365a734..e5a6c204 100644 --- a/services/LocalizationService.php +++ b/services/LocalizationService.php @@ -9,6 +9,9 @@ use \Gettext\Translator; class LocalizationService { + + private static $instanceMap = array(); + public function __construct(string $culture) { $this->Culture = $culture; @@ -18,6 +21,16 @@ class LocalizationService $this->LoadLocalizations($culture); } + public static function getInstance(string $culture) + { + if (!in_array($culture, self::$instanceMap)) + { + self::$instanceMap[$culture] = new self($culture); + } + + return self::$instanceMap[$culture]; + } + protected $DatabaseService; protected $Database; protected $Pot; diff --git a/services/SessionService.php b/services/SessionService.php index 4759f4c5..301366e7 100644 --- a/services/SessionService.php +++ b/services/SessionService.php @@ -41,7 +41,7 @@ class SessionService extends BaseService public function CreateSession($userId, $stayLoggedInPermanently = false) { $newSessionKey = $this->GenerateSessionKey(); - + $expires = date('Y-m-d H:i:s', intval(time() + 2592000)); // Default is that sessions expire in 30 days if ($stayLoggedInPermanently === true) {