<?php
/**
* 環境別の設定を扱うクラス
*
* PHP version 5
*
* @package    core
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class charcoal_Profile
{
	static $config;
	static $profile_name;

	/*
	 * プロファイル名を取得
	 */
	public static function getProfileName()
	{
		return self::$profile_name;
	}

	/*
	 * グローバル設定値を文字列として取得
	 */
	public static function getString( $key )
	{
		if ( !isset(self::$config[ $key ]) ){
			return '';
		}
		return self::$config[ $key ];
	}

	/*
	 * グローバル設定値をブール値として取得
	 */
	public static function getBoolean( $key )
	{
		if ( !isset(self::$config[ $key ]) ){
			return FALSE;
		}
		$value = self::$config[ $key ];
		return $value;
	}

	/*
	 * グローバル設定値を配列として取得
	 */
	public static function getArray( $key )
	{
		if ( !isset(self::$config[ $key ]) ){
			return array();
		}
		$value = self::$config[ $key ];

		// カンマで分割した配列を返す
		return explode( "," , $value );
	}

	/*
	 * グローバルの設定ファイルを読み込む
	 */
	public static function load( $profile_name )
	{
		// 設定ファイルの場所を特定
		$config_file = charcoal_ResourceLocator::getWebAppPath( 'config/profiles', "$profile_name.global.ini" );

		// sectionなしでiniファイルをパース
		$config = parse_ini_file($config_file,FALSE);

		// プロファイル名
		if ( $config['PROFILE_NAME'] ){
			$profile_name = $config['PROFILE_NAME'];
		}

		// 設定を保存
		self::$config = $config;
		self::$profile_name = $profile_name;
	}
}
