summaryrefslogtreecommitdiff
path: root/system/libraries/drivers/Config
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-12-26 11:24:50 -0800
committerTim Almdal <tnalmdal@shaw.ca>2009-12-26 11:24:50 -0800
commit3060a6f662da66008d57a461bf1c9b5b4aa2b002 (patch)
tree442fd290505817efc0324f2af6e01805cb7396aa /system/libraries/drivers/Config
parent1cd6a615bb47a33794e4a4f690c87a348ab752d7 (diff)
parent32d25dafd5b033338b6a9bb8c7c53edab462543a (diff)
Merge branch 'master' into talmdal_dev
Conflicts: modules/gallery/controllers/albums.php modules/gallery/controllers/movies.php modules/gallery/controllers/photos.php
Diffstat (limited to 'system/libraries/drivers/Config')
-rw-r--r--system/libraries/drivers/Config/Array.php83
1 files changed, 83 insertions, 0 deletions
diff --git a/system/libraries/drivers/Config/Array.php b/system/libraries/drivers/Config/Array.php
new file mode 100644
index 00000000..b2ca19ba
--- /dev/null
+++ b/system/libraries/drivers/Config/Array.php
@@ -0,0 +1,83 @@
+<?php defined('SYSPATH') or die('No direct script access.');
+/**
+ * Kohana_Config Array driver to get and set
+ * configuration options using PHP arrays.
+ *
+ * This driver can cache and encrypt settings
+ * if required.
+ *
+ * $Id: Array.php 4679 2009-11-10 01:45:52Z isaiah $
+ *
+ * @package Kohana_Config
+ * @author Kohana Team
+ * @copyright (c) 2007-2009 Kohana Team
+ * @license http://kohanaphp.com/license
+ */
+class Config_Array_Driver extends Config_Driver {
+
+ /**
+ * Internal caching
+ *
+ * @var Cache
+ */
+ protected $cache;
+
+ /**
+ * The name of the internal cache
+ *
+ * @var string
+ */
+ protected $cache_name = 'Kohana_Config_Array_Cache';
+
+ /**
+ * The Encryption library
+ *
+ * @var Encrypt
+ */
+ protected $encrypt;
+
+ /**
+ * Loads a configuration group based on the setting
+ *
+ * @param string group
+ * @param bool required
+ * @return array
+ * @access public
+ */
+ public function load($group, $required = FALSE)
+ {
+ if ($group === 'core')
+ {
+ // Load the application configuration file
+ require APPPATH.'config/config'.EXT;
+
+ if ( ! isset($config['site_domain']))
+ {
+ // Invalid config file
+ throw new Kohana_Config_Exception('Your Kohana application configuration file is not valid.');
+ }
+
+ return $config;
+ }
+
+ // Load matching configs
+ $configuration = array();
+
+ if ($files = Kohana::find_file('config', $group, $required))
+ {
+ foreach ($files as $file)
+ {
+ require $file;
+
+ if (isset($config) AND is_array($config))
+ {
+ // Merge in configuration
+ $configuration = array_merge($configuration, $config);
+ }
+ }
+ }
+
+ // Return merged configuration
+ return $configuration;
+ }
+} // End Config_Array_Driver \ No newline at end of file