[xoops-cvslog 5954] CVS update: xoops2jp/html/core

Zurück zum Archiv-Index

Minahito minah****@users*****
2006年 11月 27日 (月) 15:55:01 JST


Index: xoops2jp/html/core/XCube_Controller.class.php
diff -u xoops2jp/html/core/XCube_Controller.class.php:1.1.2.6 xoops2jp/html/core/XCube_Controller.class.php:1.1.2.7
--- xoops2jp/html/core/XCube_Controller.class.php:1.1.2.6	Wed Oct 25 19:38:59 2006
+++ xoops2jp/html/core/XCube_Controller.class.php	Mon Nov 27 15:55:01 2006
@@ -1,7 +1,7 @@
 <?php
 /**
  * @package XCube
- * @version $Id: XCube_Controller.class.php,v 1.1.2.6 2006/10/25 10:38:59 minahito Exp $
+ * @version $Id: XCube_Controller.class.php,v 1.1.2.7 2006/11/27 06:55:01 minahito Exp $
  */
 
 if (!defined('XOOPS_ROOT_PATH')) exit();
@@ -62,10 +62,19 @@
 	 * Array of XCube_ActionFilter class object.
 	 *
 	 * @var Array
+	 * @protected
 	 */
 	var $_mFilterChain = array();
 	
 	/**
+	 * This is Map-Array to keep names of action filter classes which are
+	 * applied as filters.
+	 * 
+	 * @protected
+	 */
+	var $_mLoadedFilterNames = array();
+	
+	/**
 	 * The database object which is abstract layer for the database.
 	 *
 	 * @var object
@@ -108,6 +117,7 @@
 	{
 		$this->_mBlockChain = array();
 		$this->_mFilterChain = array();
+		$this->_mLoadedFilterNames = array();
 		
 		$this->mSetupUser =& new XCube_Delegate();
 		$this->mExecute =& new XCube_Delegate();
@@ -385,7 +395,8 @@
 						require_once $path . $file;
 						$className = $matches[1];
 						
-						if (class_exists($className)) {
+						if (class_exists($className) && !isset($this->_mLoadedFilterNames[$className])) {
+							$this->_mLoadedFilterNames[$className] = true;
 							$instance =& new $className($this);
 							$this->addActionFilter($instance);
 						}


xoops-cvslog メーリングリストの案内
Zurück zum Archiv-Index