]> git.mxchange.org Git - friendica.git/blobdiff - src/Factory/ConfigFactory.php
Merge pull request #7988 from friendica/MrPetovan-notice
[friendica.git] / src / Factory / ConfigFactory.php
index 46d55b30c3a80d2926e8303bbe7fef142cdeb451..494a5c7209ae2d55323e57832a1fc56dcb935909 100644 (file)
@@ -3,50 +3,59 @@
 namespace Friendica\Factory;
 
 use Friendica\Core\Config;
+use Friendica\Core\Config\Cache;
+use Friendica\Model\Config\Config as ConfigModel;
+use Friendica\Model\Config\PConfig as PConfigModel;
+use Friendica\Util\ConfigFileLoader;
 
 class ConfigFactory
 {
        /**
-        * @param Config\ConfigCacheLoader $loader The Config Cache loader (INI/config/.htconfig)
+        * @param ConfigFileLoader $loader The Config Cache loader (INI/config/.htconfig)
         *
-        * @return Config\ConfigCache
+        * @return Cache\ConfigCache
         */
-       public static function createCache(Config\ConfigCacheLoader $loader)
+       public function createCache(ConfigFileLoader $loader)
        {
-               $configCache = new Config\ConfigCache();
-               $loader->loadConfigFiles($configCache);
+               $configCache = new Cache\ConfigCache();
+               $loader->setupCache($configCache);
 
                return $configCache;
        }
 
        /**
-        * @param string              $type   The adapter type
-        * @param Config\IConfigCache $config The config cache of this adapter
+        * @param Cache\ConfigCache $configCache The config cache of this adapter
+        * @param ConfigModel       $configModel The configuration model
         *
-        * @return Config\IConfigAdapter
+        * @return Config\Configuration
         */
-       public static function createConfig($type, $config)
+       public function createConfig(Cache\ConfigCache $configCache, ConfigModel $configModel)
        {
-               if ($type == 'preload') {
-                       return new Config\PreloadConfigAdapter($config);
+               if ($configCache->get('system', 'config_adapter') === 'preload') {
+                       $configuration = new Config\PreloadConfiguration($configCache, $configModel);
                } else {
-                       return new Config\JITConfigAdapter($config);
+                       $configuration = new Config\JitConfiguration($configCache, $configModel);
                }
+
+
+               return $configuration;
        }
 
        /**
-        * @param string               $type   The adapter type
-        * @param Config\IPConfigCache $config The config cache of this adapter
-        * @param int                  $uid    The UID of the current user
+        * @param Cache\ConfigCache  $configCache  The config cache
+        * @param Cache\PConfigCache $pConfigCache The personal config cache
+        * @param PConfigModel       $configModel  The configuration model
         *
-        * @return Config\IPConfigAdapter
+        * @return Config\PConfiguration
         */
-       public static function createPConfig($type, $config, $uid = null)
+       public function createPConfig(Cache\ConfigCache $configCache, Cache\PConfigCache $pConfigCache, PConfigModel $configModel)
        {
-               if ($type == 'preload') {
-                       return new Config\PreloadPConfigAdapter($config, $uid);
+               if ($configCache->get('system', 'config_adapter') === 'preload') {
+                       $configuration = new Config\PreloadPConfiguration($pConfigCache, $configModel);
                } else {
-                       return new Config\JITPConfigAdapter($config);
+                       $configuration = new Config\JitPConfiguration($pConfigCache, $configModel);
                }
+
+               return $configuration;
        }
 }