<?php

//==================================================================
// OSによってパス区切り文字を判定

if (!defined('PATH_SEPARATOR')) {
	if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
		define('PATH_SEPARATOR', ';');
	} else {
		define('PATH_SEPARATOR', ':');
	}
}

//==================================================================
// 定数

define( 'PROC_KEYWORD', 'proc' );

//==================================================================
// インクルードパス設定

ini_set(
		'include_path', 
//		'.' 
		PATH_SEPARATOR . CHARCOAL_HOME
		. PATH_SEPARATOR . EXTLIB_DIR
		. PATH_SEPARATOR . WEBAPP_DIR . "/" . APPLICATION . "/classes/"
	);

//==================================================================
// autoload

function __autoload( $class_name )
{
	require_once ( 'classes/core/ClassLoader.class.php' );

	$loaded = charcoal_ClassLoader::loadClass( $class_name );
}

//==================================================================
// ログ出力関数

// TRACE出力
function log_trace( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "T:$logger_names", $message, $file, $line );
}

// INFO出力
function log_info( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "I:$logger_names", $message, $file, $line );
}

// WARNING出力
function log_warning( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "W:$logger_names", $message, $file, $line );
}

// DEBUG出力
function log_debug( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "D:$logger_names", $message, $file, $line );
}

// ERROR出力
function log_error( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "E:$logger_names", $message, $file, $line );
}

// FATAL出力
function log_fatal( $logger_names, $message, $file, $line )
{
	charcoal_Logger::writeln( "F:$logger_names", $message, $file, $line );
}

//==================================================================
// 配列ダンプ

function array_dump( $array, $title = NULL )
{
	print charcoal_System::arrayToString($array,$title);
}

//==================================================================
// プロファイルを読み込む

$host = gethostbyaddr($_SERVER["SERVER_ADDR"]);
//$host = $_SERVER["SERVER_NAME"];

charcoal_Profile::load( $host );

//==================================================================
// プリミティブ生成関数

function s( $data, $encoding = NULL )
{
	return new charcoal_String( $data, $encoding );
}
