]> git.mxchange.org Git - friendica.git/commitdiff
Remove unnecessary classes
authorPhilipp <admin@philipp.info>
Tue, 27 Dec 2022 23:20:20 +0000 (00:20 +0100)
committerPhilipp <admin@philipp.info>
Tue, 3 Jan 2023 13:22:03 +0000 (14:22 +0100)
src/Core/Config/Repository/Config.php [deleted file]
src/Core/Config/Type/AbstractConfig.php [deleted file]
src/Core/Config/Type/JitConfig.php [deleted file]
src/Core/Config/Type/PreloadConfig.php [deleted file]
src/Core/Config/Util/ValueConversion.php [deleted file]
src/Core/PConfig/Repository/PConfig.php
src/Core/PConfig/Util/ValueConversion.php [new file with mode: 0644]

diff --git a/src/Core/Config/Repository/Config.php b/src/Core/Config/Repository/Config.php
deleted file mode 100644 (file)
index eabff9e..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Config\Repository;
-
-use Friendica\App\Mode;
-use Friendica\Core\Config\Exception\ConfigPersistenceException;
-use Friendica\Core\Config\Util\ValueConversion;
-use Friendica\Database\Database;
-
-/**
- * The Config Repository, which is using the general DB-model backend for configs
- */
-class Config
-{
-       /** @var Database */
-       protected $db;
-       /** @var Mode */
-       protected $mode;
-
-       public function __construct(Database $db, Mode $mode)
-       {
-               $this->db   = $db;
-               $this->mode = $mode;
-       }
-
-       protected static $table_name = 'config';
-
-       /**
-        * Checks if the model is currently connected
-        *
-        * @return bool
-        */
-       public function isConnected(): bool
-       {
-               return true;
-       }
-
-       /**
-        * Loads all configuration values and returns the loaded category as an array.
-        *
-        * @param string|null $cat The category of the configuration values to load
-        *
-        * @return array The config array
-        *
-        * @throws ConfigPersistenceException In case the persistence layer throws errors
-        */
-       public function load(?string $cat = null): array
-       {
-               return [];
-       }
-
-       /**
-        * Get a particular, system-wide config variable out of the DB with the
-        * given category name ($cat) and a key ($key).
-        *
-        * Note: Boolean variables are defined as 0/1 in the database
-        *
-        * @param string $cat The category of the configuration value
-        * @param string $key The configuration key to query
-        *
-        * @return array|string|null Stored value or null if it does not exist
-        *
-        * @throws ConfigPersistenceException In case the persistence layer throws errors
-        */
-       public function get(string $cat, string $key)
-       {
-               return null;
-       }
-
-       /**
-        * Stores a config value ($value) in the category ($cat) under the key ($key).
-        *
-        * Note: Please do not store booleans - convert to 0/1 integer values!
-        *
-        * @param string $cat   The category of the configuration value
-        * @param string $key   The configuration key to set
-        * @param mixed  $value The value to store
-        *
-        * @return bool Operation success
-        *
-        * @throws ConfigPersistenceException In case the persistence layer throws errors
-        */
-       public function set(string $cat, string $key, $value): bool
-       {
-               return true;
-       }
-
-       /**
-        * Removes the configured value from the database.
-        *
-        * @param string $cat The category of the configuration value
-        * @param string $key The configuration key to delete
-        *
-        * @return bool Operation success
-        *
-        * @throws ConfigPersistenceException In case the persistence layer throws errors
-        */
-       public function delete(string $cat, string $key): bool
-       {
-               return true;
-       }
-}
diff --git a/src/Core/Config/Type/AbstractConfig.php b/src/Core/Config/Type/AbstractConfig.php
deleted file mode 100644 (file)
index fa98dd7..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Config\Type;
-
-use Friendica\Core\Config\Repository\Config;
-use Friendica\Core\Config\Util\ConfigFileManager;
-use Friendica\Core\Config\ValueObject\Cache;
-use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\DI;
-
-/**
- * This class is responsible for all system-wide configuration values in Friendica
- * There are two types of storage
- * - The Config-Files    (loaded into the FileCache @see Cache)
- * - The Config-Repository (per Config-Repository @see Config )
- */
-abstract class AbstractConfig implements IManageConfigValues
-{
-       /**
-        * @var Cache
-        */
-       protected $configCache;
-
-       /**
-        * @var Config
-        */
-       protected $configRepo;
-
-       /** @var ConfigFileManager */
-       protected $configFileManager;
-
-       /**
-        * @param ConfigFileManager $configFileManager The configuration file manager to save back configs
-        * @param Cache  $configCache The configuration cache (based on the config-files)
-        * @param Config $configRepo  The configuration repository
-        */
-       public function __construct(ConfigFileManager $configFileManager, Cache $configCache, Config $configRepo)
-       {
-               $this->configFileManager = $configFileManager;
-               $this->configCache       = $configCache;
-               $this->configRepo        = $configRepo;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function getCache(): Cache
-       {
-               return $this->configCache;
-       }
-
-       public function save()
-       {
-               $this->configFileManager->saveData($this->configCache);
-       }
-}
diff --git a/src/Core/Config/Type/JitConfig.php b/src/Core/Config/Type/JitConfig.php
deleted file mode 100644 (file)
index 1ae9abd..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Config\Type;
-
-use Friendica\Core\Config\Util\ConfigFileManager;
-use Friendica\Core\Config\ValueObject\Cache;
-use Friendica\Core\Config\Repository\Config;
-
-/**
- * This class implements the Just-In-Time configuration, which will cache
- * config values in a cache, once they are retrieved.
- *
- * Default Configuration type.
- * Provides the best performance for pages loading few configuration variables.
- */
-class JitConfig extends AbstractConfig
-{
-       /**
-        * @var array Array of already loaded db values (even if there was no value)
-        */
-       private $db_loaded;
-
-       /**
-        * @param ConfigFileManager $configFileManager The configuration file manager to save back configs
-        * @param Cache             $configCache       The configuration cache (based on the config-files)
-        * @param Config            $configRepo        The configuration model
-        */
-       public function __construct(ConfigFileManager $configFileManager, Cache $configCache, Config $configRepo)
-       {
-               parent::__construct($configFileManager, $configCache, $configRepo);
-               $this->db_loaded = [];
-
-               $this->load();
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function load(string $cat = 'config')
-       {
-               // If not connected, do nothing
-               if (!$this->configRepo->isConnected()) {
-                       return;
-               }
-
-               $config = $this->configRepo->load($cat);
-
-               if (!empty($config[$cat])) {
-                       foreach ($config[$cat] as $key => $value) {
-                               $this->db_loaded[$cat][$key] = true;
-                       }
-               }
-
-               // load the whole category out of the DB into the cache
-               $this->configCache->load($config, Cache::SOURCE_DATA);
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function get(string $cat, string $key, $default_value = null, bool $refresh = false)
-       {
-               // if the value isn't loaded or refresh is needed, load it to the cache
-               if ($this->configRepo->isConnected() &&
-                       (empty($this->db_loaded[$cat][$key]) ||
-                        $refresh)) {
-                       $dbValue = $this->configRepo->get($cat, $key);
-
-                       if (isset($dbValue)) {
-                               $this->configCache->set($cat, $key, $dbValue, Cache::SOURCE_DATA);
-                               unset($dbValue);
-                       }
-
-                       $this->db_loaded[$cat][$key] = true;
-               }
-
-               // use the config cache for return
-               $result = $this->configCache->get($cat, $key);
-
-               return (isset($result)) ? $result : $default_value;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function set(string $cat, string $key, $value, bool $autosave = true): bool
-       {
-               // set the cache first
-               $cached = $this->configCache->set($cat, $key, $value, Cache::SOURCE_DATA);
-
-               // If there is no connected adapter, we're finished
-               if (!$this->configRepo->isConnected()) {
-                       return $cached;
-               }
-
-               $stored = $this->configRepo->set($cat, $key, $value);
-
-               $this->db_loaded[$cat][$key] = $stored;
-
-               if ($autosave) {
-                       $this->save();
-               }
-
-               return $cached && $stored;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function delete(string $cat, string $key, bool $autosave = true): bool
-       {
-               $cacheRemoved = $this->configCache->delete($cat, $key);
-
-               if (isset($this->db_loaded[$cat][$key])) {
-                       unset($this->db_loaded[$cat][$key]);
-               }
-
-               if (!$this->configRepo->isConnected()) {
-                       return $cacheRemoved;
-               }
-
-               $storeRemoved = $this->configRepo->delete($cat, $key);
-
-               if ($autosave) {
-                       $this->save();
-               }
-
-               return $cacheRemoved || $storeRemoved;
-       }
-}
diff --git a/src/Core/Config/Type/PreloadConfig.php b/src/Core/Config/Type/PreloadConfig.php
deleted file mode 100644 (file)
index 6eed20a..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Config\Type;
-
-use Friendica\Core\Config\Util\ConfigFileManager;
-use Friendica\Core\Config\ValueObject\Cache;
-use Friendica\Core\Config\Repository\Config;
-
-/**
- * This class implements the preload configuration, which will cache
- * all config values per call in a cache.
- *
- * Minimizes the number of database queries to retrieve configuration values at the cost of memory.
- */
-class PreloadConfig extends AbstractConfig
-{
-       /** @var bool */
-       private $config_loaded;
-
-       /**
-        * @param ConfigFileManager $configFileManager The configuration file manager to save back configs
-        * @param Cache             $configCache       The configuration cache (based on the config-files)
-        * @param Config            $configRepo        The configuration model
-        */
-       public function __construct(ConfigFileManager $configFileManager, Cache $configCache, Config $configRepo)
-       {
-               parent::__construct($configFileManager, $configCache, $configRepo);
-               $this->config_loaded = false;
-
-               $this->load();
-       }
-
-       /**
-        * {@inheritDoc}
-        *
-        * This loads all config values everytime load is called
-        */
-       public function load(string $cat = 'config')
-       {
-               // Don't load the whole configuration twice
-               if ($this->config_loaded) {
-                       return;
-               }
-
-               // If not connected, do nothing
-               if (!$this->configRepo->isConnected()) {
-                       return;
-               }
-
-               $config              = $this->configRepo->load();
-               $this->config_loaded = true;
-
-               // load the whole category out of the DB into the cache
-               $this->configCache->load($config, Cache::SOURCE_DATA);
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function get(string $cat, string $key, $default_value = null, bool $refresh = false)
-       {
-               if ($refresh) {
-                       if ($this->configRepo->isConnected()) {
-                               $config = $this->configRepo->get($cat, $key);
-                               if (isset($config)) {
-                                       $this->configCache->set($cat, $key, $config, Cache::SOURCE_DATA);
-                               }
-                       }
-               }
-
-               // use the config cache for return
-               $result = $this->configCache->get($cat, $key);
-
-               return (isset($result)) ? $result : $default_value;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function set(string $cat, string $key, $value, bool $autosave = true): bool
-       {
-               if (!$this->config_loaded) {
-                       $this->load();
-               }
-
-               // set the cache first
-               $cached = $this->configCache->set($cat, $key, $value, Cache::SOURCE_DATA);
-
-               // If there is no connected adapter, we're finished
-               if (!$this->configRepo->isConnected()) {
-                       return $cached;
-               }
-
-               $stored = $this->configRepo->set($cat, $key, $value);
-
-               if ($autosave) {
-                       $this->save();
-               }
-
-               return $cached && $stored;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       public function delete(string $cat, string $key, bool $autosave = true): bool
-       {
-               if ($this->config_loaded) {
-                       $this->load();
-               }
-
-               $cacheRemoved = $this->configCache->delete($cat, $key);
-
-               if (!$this->configRepo->isConnected()) {
-                       return $cacheRemoved;
-               }
-
-               $storeRemoved = $this->configRepo->delete($cat, $key);
-
-               if ($autosave) {
-                       $this->save();
-               }
-
-               return $cacheRemoved || $storeRemoved;
-       }
-}
diff --git a/src/Core/Config/Util/ValueConversion.php b/src/Core/Config/Util/ValueConversion.php
deleted file mode 100644 (file)
index a3d9d01..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Config\Util;
-
-/**
- * Util class to help to convert from/to (p)config values
- */
-class ValueConversion
-{
-       /**
-        * Formats a DB value to a config value
-        * - null   = The db-value isn't set
-        * - bool   = The db-value is either '0' or '1'
-        * - array  = The db-value is a serialized array
-        * - string = The db-value is a string
-        *
-        * Keep in mind that there aren't any numeric/integer config values in the database
-        *
-        * @param string|null $value
-        *
-        * @return null|array|string
-        */
-       public static function toConfigValue(?string $value)
-       {
-               if (!isset($value)) {
-                       return null;
-               }
-
-               switch (true) {
-                       // manage array value
-                       case preg_match("|^a:[0-9]+:{.*}$|s", $value):
-                               return unserialize($value);
-
-                       default:
-                               return $value;
-               }
-       }
-
-       /**
-        * Formats a config value to a DB value (string)
-        *
-        * @param mixed $value
-        *
-        * @return string
-        */
-       public static function toDbValue($value): string
-       {
-               // if not set, save an empty string
-               if (!isset($value)) {
-                       return '';
-               }
-
-               switch (true) {
-                       // manage arrays
-                       case is_array($value):
-                               return serialize($value);
-
-                       default:
-                               return (string)$value;
-               }
-       }
-}
index 5c9d2d51d1f52055ba3b6c04565e9faeaa10f05a..506aaeb5a76588d513705149f4c64989516fb3ef 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Core\PConfig\Repository;
 
 use Friendica\App\Mode;
-use Friendica\Core\Config\Util\ValueConversion;
+use Friendica\Core\PConfig\Util\ValueConversion;
 use Friendica\Core\PConfig\Exception\PConfigPersistenceException;
 use Friendica\Database\Database;
 
diff --git a/src/Core/PConfig/Util/ValueConversion.php b/src/Core/PConfig/Util/ValueConversion.php
new file mode 100644 (file)
index 0000000..64a4bfc
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\PConfig\Util;
+
+/**
+ * Util class to help to convert from/to (p)config values
+ */
+class ValueConversion
+{
+       /**
+        * Formats a DB value to a config value
+        * - null   = The db-value isn't set
+        * - bool   = The db-value is either '0' or '1'
+        * - array  = The db-value is a serialized array
+        * - string = The db-value is a string
+        *
+        * Keep in mind that there aren't any numeric/integer config values in the database
+        *
+        * @param string|null $value
+        *
+        * @return null|array|string
+        */
+       public static function toConfigValue(?string $value)
+       {
+               if (!isset($value)) {
+                       return null;
+               }
+
+               switch (true) {
+                       // manage array value
+                       case preg_match("|^a:[0-9]+:{.*}$|s", $value):
+                               return unserialize($value);
+
+                       default:
+                               return $value;
+               }
+       }
+
+       /**
+        * Formats a config value to a DB value (string)
+        *
+        * @param mixed $value
+        *
+        * @return string
+        */
+       public static function toDbValue($value): string
+       {
+               // if not set, save an empty string
+               if (!isset($value)) {
+                       return '';
+               }
+
+               switch (true) {
+                       // manage arrays
+                       case is_array($value):
+                               return serialize($value);
+
+                       default:
+                               return (string)$value;
+               }
+       }
+}