<?
/**
* ページャ用出力フィルタ
*
* PHP version 5
*
* @package    filters
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class charcoal_CharcoalPagerOutputFilter implements charcoal_IFilter
{
	var $_config;
	var $_output_filters;

	/*
	 *    コンストラクタ
	 */
	public function __construct()
	{
	}

	/*
	 * フィルタ名を取得
	 */
	public function getFilterName()
	{
		return "CharcoalPager Output Filter";
	}

	/*
	 * フィルタを初期化する
	 */
	public function init( charcoal_Config $config )
	{
	}

	/*
	 * フィルタを行う
	 */
	public function filter( charcoal_Request $request, charcoal_ProcedureContext $context, charcoal_Response $response ){

		log_info( "system",  "CharcoalPagerOutputFilterを実行します。", __FILE__, __LINE__ );

		// PageInfoを取得
		$page_info = $context->get( "page_info" );

		// 設定されている場合だけ処理
		if ( $page_info ){

			// CharcoalPagerコンポーネントを取得
			$pager = DIContainer::getComponent( "charcoal:CharcoalPager" );

			// ページナビゲータを作成
			$page_navi = $pager->makePageNavigator( $page_info );

			// 変数の割り当て
			$context->set( "page_navi", $page_navi );
		}

		log_info( "system",  "CharcoalPagerOutputFilterの実行が完了しました。", __FILE__, __LINE__ );

	}


}

?>