<?
class DbCreateModule implements charcoal_IModule
{
	/*
	 *    コンストラクタ
	 */
	public function __construct()
	{
	}

	/*
	 * モジュール名
	 */
	public function getModuleName()
	{
		return "DB Connect module";
	}

	/*
	 * モジュールを初期化する
	 */
	public function init( charcoal_Config $config )
	{
	}

	/*
	 * モジュールの処理を実行する
	 */
	public function execute( $action, charcoal_Request $request, charcoal_ProcedureContext $context, charcoal_Response $response )
	{
		// セッションから接続情報を取得
		$backend    = $context->getSession()->get( "backend" );
		$server     = $context->getSession()->get( "server" );
		$user       = $context->getSession()->get( "user" );
		$password   = $context->getSession()->get( "password" );
		$db_name    = $context->getSession()->get( "db_name" );
		$charset    = $context->getSession()->get( "charset" );

		// DataSourceを取得
		$data_source = $context->db->getDataSource();

		// 接続
		$data_source->connect( $backend, $user, $password, $server, NULL );

		// DB作成
		$context->db->createDatabase( $db_name, $charset );

		// データベース名を出力
		$response->set( "db_name", $db_name );

		return "success";
	}
}
?>