<?php
/**
 *
 * @package XCube
 * @version $Id: XCube_ActionFilter.class.php,v 1.1.2.2 2006/12/26 14:30:54 nobunobu Exp $
 * @copyright Copyright 2005, 2006 XOOPS Cube Project <http://xoopscube.org/>
 * @license http://xoopscube.sourceforge.net/bsd_licenses.txt Modified BSD license
 *
 */

/**
 * This class is chained and called by the initialization procedure of the
 * controller class. Developers or users can use the subclass of this class for
 * dynamic customizing.
 * 
 * Users usually don't need to add on filters because each controllers should
 * have initialization code enough. This class is used to the case of special
 * customizing by modules and users.
 * 
 * Each controllers should not use this class to their initialization procedure.
 * 
 * Two member functions are called by the controller at the special timing.
 * These timing is different in each controllers.
 */
class XCube_ActionFilter
{
	/**
	 * [READ ONLY]
	 *
	 * @var XCube_Controller
	 * @access protected
	 */
	var $mController;
	
	/**
	 * [READ ONLY]
	 *
	 * @var XCube_Root
	 * @access protected
	 */
	var $mRoot;
	
	/**
	 * Constructor.
	 *
	 * @param $controller XCube_Controller
	 */
	function XCube_ActionFilter(&$controller)
	{
		$this->mController =& $controller;
		$this->mRoot =& $this->mController->mRoot;
	}

	/**
	 * Executes the logic when preFilter().
	 */	
	function preFilter()
	{
	}
	
	/**
	 * Executes the logic when preBlockFilter().
	 */	
	function preBlockFilter()
	{
	}
	
	/**
	 * Executes the logic when postFilter().
	 */	
	function postFilter()
	{
	}
}

?>
