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

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

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

	/*
	 * モジュールの処理を実行する
	 */
	public function execute( $action, charcoal_Request $request, charcoal_ProcedureContext $context, charcoal_Response $response )
	{
		// BreadcrumListコンポーネントを取得
		$breadcrumb = $context->getComponent( "charcoal:BreadcrumbList" );

		// パンくずリストを生成
		$breadcrumb_list = $breadcrumb->makeList( array( 'home', 'sample', 'breadcrumb' ) );

		// Linkerコンポーネントを取得
		$linker = $context->getComponent( "charcoal:Linker" );

		// リンク配列データを取得
		$links = $linker->getLinks();

		// HTML出力
		print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' . PHP_EOL;
		print '<HTML>' . PHP_EOL;
		print '<HEAD>' . PHP_EOL;
		print '<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">' . PHP_EOL;
		print '</HEAD>' . PHP_EOL;
		print '<BODY>' . PHP_EOL;

		print $breadcrumb_list . PHP_EOL;	// <== パンくずリストの出力
		print '<p>';

		// 以下Linkerコンポーネントの設定データを出力
		print '<table>' . PHP_EOL;
		print '<tr><th>サイト名</th><th>URL</th></tr>' . PHP_EOL;

		print '<tr>' . PHP_EOL;
		print '  <td>Hello World</td>' . PHP_EOL;
		print '  <td><a href="' . $links['hello_world'] . '">' . $links['hello_world'] . '</a></td>' . PHP_EOL;
		print '</tr>' . PHP_EOL;
		print '<tr>' . PHP_EOL;
		print '  <td>Breadcrumb List</td>' . PHP_EOL;
		print '  <td><a href="' . $links['breadcrumb'] . '">' . $links['breadcrumb'] . '</a></td>' . PHP_EOL;
		print '</tr>' . PHP_EOL;
		print '</table>' . PHP_EOL;

		print '</BODY>' . PHP_EOL;
		print '</HTML>' . PHP_EOL;
	}
}
