過去の遺産をいじっていたら、XOOPSで利用しているYYBBSのPERMISSIONのページが表示されないことに気付いた。色々調べてみたけど、管理画面からはどうにも直せ無さそうなので、ソースを覗いてみましたよぉ。
まずは、[ xoops/modules/yybbs/admin/perm.php ]からチェック、うーん実体無きPHPだなぁ、というわけでincludeしているPHPファイルを一つずつチェックするけど問題なさげ。で、とりあえず問題っぽいラインを発見しました。
$compo = new exInputComponent(null,new exPermInputComponentRender(),'edit_perm',
new exPermItemXMLEditForm(dirname(__FILE__)."/include/permission.xml"),
new exSuccessForwardConfig(EXFORWARD_LOCATION,'perm_confirm.php'));
この中のオブジェクト生成周りで問題が起きてる気分。print_rとかでオブジェクトの出力をチェックしてると、おーまんまと何も返してこない奴[ new exPermInputComponentRender() ]を発見。で、こいつのクラスファイル[ xoops/modules/exFrame/exComponent/input/render/PermInputRender.php ]をチェック。と、中身を覗く前にとりあえず実行してみる。すると、
Parse error: parse error, unexpected T_STRING in xxx/xxx/xxx/xoops/modules/exFrame/exComponent/input/render/PermInputRender.php on line 63
とか言いやがるし、、、。ねー、こんなとこうちのエンジニアいじってないよなぁ。恐る恐るソースを眺めてみると、
$ret.="<tr class='odd'><td bgcolor="red"></td><td colspan='".(c\
ount($groups)+1)."'>".
って、お前は新人プログラマーか!!! みたいなー、脱力。。。redの周りのwqをqに変更したらあっさり起動しました。ぷひー。
しかし、疑問は前任者はどうやってYYBBSのパーミッションを設定したんだろう? もー、訳わからなくなって直接DBをいじった可能性に1000クローネ。