blob: b2ca19ba56cf911c637adcb11f4da2d42a82f4a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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
|