舛川 竜治
masuk****@nii*****
2006年 11月 22日 (水) 10:30:28 JST
舛川です。 Mapleの3.1から3.2にバージョンアップをしたせいもあるかもしれませんが、 GlobalFilterがうまく動作してないように見受けられましたのでメールしました。 GlobalFilterが指定してようとなかろうと指定アクションにいくまでの設定ファイル内のフィルタが 実行されているようです。 そちらで同じ現象にならない、または既に修正済みのようでしたら 申し訳ございません。 ソースを追ってみますと readConfigメソッドの if($globalFilter === null || $isDeepest) { //globalfilterが無い、もしくは最下層 $this->readSimpleConfig($config); return; } でグローバルフィルタでない場合も、最下層の場合にも 同じように設定ファイルを読み込んでいます。 そこでreturnされますので、それ以降の処理は行っていないと思います。 当方での修正方法としては、 213 if($globalFilter === null || $isDeepest) { ↓ if($globalFilter === null && $isDeepest) { 216 if(!isset($globalFilter[$key])) { ↓ if(isset($globalFilter[$key])) { 220行目あたり $this->readSimpleConfig($config, array_keys($globalFilter)); ↓ if($globalFilter != null) { $this->readSimpleConfig($config, array_keys($globalFilter)); } となります。