本日10/17、ついにXoopsCube 2.1betaがリリースされました。
お疲れ様でした!
そのCube2.1betaを試してみて、いろいろ問題が出たので、モジュール作者として出来ることをしばらく記事にしていこうと思っています。
突然ですが、Webアプリケーションにおける入口は、極力少なくするべきです。
そのポリシーに従って、D3モジュールでは、管理画面も公開画面も、index.php で統一してきました。それでも、Cube 2.1alphaでは動いていたのですが、Cube 2.1betaでは、完全に動かなくなってしまいました。
この判断によって、管理画面だと判断されないためです。
if(count($urlInfo)>=3) {
if(strtolower($urlInfo[0])=="modules" && strtolower($urlInfo[2])=="admin"){
$adminStateFlag=true;
}
elseif($urlInfo[0] == "modules" && $urlInfo[1] == "system" && substr($urlInfo[2], 0, 9) == "admin.php") {
$adminStateFlag=true;
}
}
elseif(substr($urlInfo[0], 0, 9) == "admin.php") {
$adminStateFlag=true;
}
ただ、その場合、「このエントリポイントからはこの動作しかさせない!」っていう縛りが面倒です。