Kohana_Config_Database
Kohana_Config_Reader
ArrayObject

Class Contents

Class declared in MODPATH/database/classes/kohana/config/database.php on line 18.

Constants

STD_PROP_LIST
integer 1
ARRAY_AS_PROPS
integer 2

Methods

public __construct( )
Kohana_Config_Database

Source Code
public function __construct(array $config = NULL)
{
	if (isset($config['instance']))
	{
		$this->_database_instance = $config['instance'];
	}

	if (isset($config['table']))
	{
		$this->_database_table = $config['table'];
	}

	parent::__construct();
}

public load( )
Kohana_Config_Database

Source Code
public function load($group, array $config = NULL)
{
	if ($config === NULL AND $group !== 'database')
	{
		// Load all of the configuration values for this group
		$query = DB::select('config_key', 'config_value')
			->from($this->_database_table)
			->where('group_name', '=', $group)
			->execute($this->_database_instance);

		if (count($query) > 0)
		{
			// Unserialize the configuration values
			$config = array_map('unserialize', $query->as_array('config_key', 'config_value'));
		}
	}

	return parent::load($group, $config);
}

public offsetSet( )
Kohana_Config_Database

Source Code
public function offsetSet($key, $value)
{
	if ( ! $this->offsetExists($key))
	{
		// Insert a new value
		DB::insert($this->_database_table, array('group_name', 'config_key', 'config_value'))
			->values(array($this->_configuration_group, $key, serialize($value)))
			->execute($this->_database_instance);
	}
	elseif ($this->offsetGet($key) !== $value)
	{
		// Update the value
		DB::update($this->_database_table)
			->value('config_value', serialize($value))
			->where('group_name', '=', $this->_configuration_group)
			->where('config_key', '=', $key)
			->execute($this->_database_instance);
	}

	return parent::offsetSet($key, $value);
}

public __toString( )
Kohana_Config_Reader

Source Code
public function __toString()
{
	return serialize($this->getArrayCopy());
}

public as_array( )
Kohana_Config_Reader

Source Code
public function as_array()
{
	return $this->getArrayCopy();
}

public get( )
Kohana_Config_Reader

Source Code
public function get($key, $default = NULL)
{
	return $this->offsetExists($key) ? $this->offsetGet($key) : $default;
}

public set( )
Kohana_Config_Reader

Source Code
public function set($key, $value)
{
	$this->offsetSet($key, $value);

	return $this;
}

public __construct( )
Kohana_Config_Database

Source Code
public function __construct(array $config = NULL)
{
	if (isset($config['instance']))
	{
		$this->_database_instance = $config['instance'];
	}

	if (isset($config['table']))
	{
		$this->_database_table = $config['table'];
	}

	parent::__construct();
}

public append( )
ArrayObject

public append( )
ArrayObject

public asort( )
ArrayObject

public asort( )
ArrayObject

public count( )
ArrayObject

public count( )
ArrayObject

public exchangeArray( )
ArrayObject

public exchangeArray( )
ArrayObject

public getArrayCopy( )
ArrayObject

public getArrayCopy( )
ArrayObject

public getFlags( )
ArrayObject

public getFlags( )
ArrayObject

public getIterator( )
ArrayObject

public getIterator( )
ArrayObject

public getIteratorClass( )
ArrayObject

public getIteratorClass( )
ArrayObject

public ksort( )
ArrayObject

public ksort( )
ArrayObject

public natcasesort( )
ArrayObject

public natcasesort( )
ArrayObject

public natsort( )
ArrayObject

public natsort( )
ArrayObject

public offsetExists( )
ArrayObject

public offsetExists( )
ArrayObject

public offsetGet( )
ArrayObject

public offsetGet( )
ArrayObject

public offsetSet( )
Kohana_Config_Database

Source Code
public function offsetSet($key, $value)
{
	if ( ! $this->offsetExists($key))
	{
		// Insert a new value
		DB::insert($this->_database_table, array('group_name', 'config_key', 'config_value'))
			->values(array($this->_configuration_group, $key, serialize($value)))
			->execute($this->_database_instance);
	}
	elseif ($this->offsetGet($key) !== $value)
	{
		// Update the value
		DB::update($this->_database_table)
			->value('config_value', serialize($value))
			->where('group_name', '=', $this->_configuration_group)
			->where('config_key', '=', $key)
			->execute($this->_database_instance);
	}

	return parent::offsetSet($key, $value);
}

public offsetUnset( )
ArrayObject

public offsetUnset( )
ArrayObject

public setFlags( )
ArrayObject

public setFlags( )
ArrayObject

public setIteratorClass( )
ArrayObject

public setIteratorClass( )
ArrayObject

public uasort( )
ArrayObject

public uasort( )
ArrayObject

public uksort( )
ArrayObject

public uksort( )
ArrayObject