CC-2166: Packaging Improvements. Moved the Zend app into airtime_mvc. It is now installed to /var/www/airtime. Storage is now set to /srv/airtime/stor. Utils are now installed to /usr/lib/airtime/utils/. Added install/airtime-dircheck.php as a simple test to see if everything is install/uninstalled correctly.
This commit is contained in:
parent
514777e8d2
commit
b11cbd8159
4546 changed files with 138 additions and 51 deletions
|
@ -0,0 +1,159 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of the Propel package.
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @license MIT License
|
||||
*/
|
||||
|
||||
/**
|
||||
* PropelConfiguration is a container for all Propel's configuration data.
|
||||
*
|
||||
* PropelConfiguration implements ArrayAccess interface so the configuration
|
||||
* can be accessed as an array or using a simple getter and setter. The whole
|
||||
* configuration can also be retrieved as a nested arrays, flat array or as a
|
||||
* PropelConfiguration instance.
|
||||
*
|
||||
* @author Veikko Mäkinen <veikko@veikko.fi>
|
||||
* @version $Revision: 1612 $
|
||||
* @package propel.runtime.config
|
||||
*/
|
||||
class PropelConfiguration implements ArrayAccess
|
||||
{
|
||||
const TYPE_ARRAY = 1;
|
||||
|
||||
const TYPE_ARRAY_FLAT = 2;
|
||||
|
||||
const TYPE_OBJECT = 3;
|
||||
|
||||
/**
|
||||
* @var array An array of parameters
|
||||
*/
|
||||
protected $parameters = array();
|
||||
|
||||
/**
|
||||
* Construct a new configuration container
|
||||
*
|
||||
* @param array $parameters
|
||||
*/
|
||||
public function __construct(array $parameters = array())
|
||||
{
|
||||
$this->parameters = $parameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see http://www.php.net/ArrayAccess
|
||||
*/
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return array_key_exists($offset, $this->parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see http://www.php.net/ArrayAccess
|
||||
*/
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
$this->parameter[$offset] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see http://www.php.net/ArrayAccess
|
||||
*/
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return $this->parameters[$offset];
|
||||
}
|
||||
|
||||
/**
|
||||
* @see http://www.php.net/ArrayAccess
|
||||
*/
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->parameters[$offset]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parameter value from the container
|
||||
*
|
||||
* @param string $name Parameter name
|
||||
* @param mixed $default Default value to be used if the
|
||||
* requested value is not found
|
||||
* @return mixed Parameter value or the default
|
||||
*/
|
||||
public function getParameter($name, $default = null)
|
||||
{
|
||||
$ret = $this->parameters;
|
||||
$parts = explode('.', $name); //name.space.name
|
||||
while ($part = array_shift($parts)) {
|
||||
if (isset($ret[$part])) {
|
||||
$ret = $ret[$part];
|
||||
} else {
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a value to the container
|
||||
*
|
||||
* @param string $name Configuration item name (name.space.name)
|
||||
* @param mixed $value Value to be stored
|
||||
*/
|
||||
public function setParameter($name, $value)
|
||||
{
|
||||
$param = &$this->parameters;
|
||||
$parts = explode('.', $name); //name.space.name
|
||||
while ($part = array_shift($parts)) {
|
||||
$param = &$param[$part];
|
||||
}
|
||||
$param = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param int $type
|
||||
* @return mixed
|
||||
*/
|
||||
public function getParameters($type = PropelConfiguration::TYPE_ARRAY)
|
||||
{
|
||||
switch ($type) {
|
||||
case PropelConfiguration::TYPE_ARRAY:
|
||||
return $this->parameters;
|
||||
case PropelConfiguration::TYPE_ARRAY_FLAT:
|
||||
return $this->toFlatArray();
|
||||
case PropelConfiguration::TYPE_OBJECT:
|
||||
return $this;
|
||||
default:
|
||||
throw new PropelException('Unknown configuration type: '. var_export($type, true));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the configuration as a flat array. ($array['name.space.item'] = 'value')
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function toFlatArray()
|
||||
{
|
||||
$result = array();
|
||||
$it = new PropelConfigurationIterator(new RecursiveArrayIterator($this->parameters), RecursiveIteratorIterator::SELF_FIRST);
|
||||
foreach($it as $key => $value) {
|
||||
$ns = $it->getDepth() ? $it->getNamespace() . '.'. $key : $key;
|
||||
if ($it->getNodeType() == PropelConfigurationIterator::NODE_ITEM) {
|
||||
$result[$ns] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue