モジュールの表示(メニュー,ダッシュボード)に関する不具合
Posted: 2013年7月18日(木) 17:48
MODx Evolution 1.0.10J-r2 で、投稿サイトを構築していますが、「モジュール」の表示で不具合らしきものを見つけました。
●MODxの利用状況
・グループ管理を有効にしました。
・投稿に対して承認をおこなう為の「自作モジュール」と、そのモジュールを使う「ユーザー」を追加しました。
・自作モジュールには、アイコンを設定しました。
・ダッシュボードをカスタマイズして( [+Modules+]を記載して )、モジュールを表示するようにしました。
(MODx Evolution 1.0.10J-r2には、ダッシュボードをカスタマイズするプラグインが入っていませんでしたが、
前から使ってたMODxには入ってたので、それをコピーして使いました。)
●メニューに関する不具合
・承認用のユーザーで管理画面にログインしたとき、利用権限のないモジュールまで、メニューに表示されてしまいました。
●ダッシュボードに関する不具合
・メニューの不具合と同じく、利用権限のないモジュールまで、ダッシュボードに表示されてしまいました。
・承認用のユーザーで管理画面にログインしたとき、モジュールに設定したアイコンが表示されず、アイコン未設定のときのアイコンが表示されました。
●下記の修正をしたところ、上記不具合が直りました。
manager/actions/welcome.static.php 136行目
修正前
$field = 'DISTINCT sm.id, sm.name, mg.member';
修正後
$field = 'DISTINCT sm.id, sm.name, sm.icon';
manager/actions/welcome.static.php 140行目
修正前
$where = "(mg.member IS NULL OR mg.member={$uid}) AND sm.disabled != 1";[/code]
修正後
$where = "mg.member={$uid} AND sm.disabled != 1";
manager/frames/menu.php 290行目
修正前
$where = "(mg.member IS NULL OR mg.member='{$uid}') AND sm.disabled != 1";
修正後
$where = "mg.member='{$uid}' AND sm.disabled != 1";
テーブルの仕様をきちんと把握できていないので、上記の修正に、少し不安を持っているのですが、間違いないでしょうか?
●MODxの利用状況
・グループ管理を有効にしました。
・投稿に対して承認をおこなう為の「自作モジュール」と、そのモジュールを使う「ユーザー」を追加しました。
・自作モジュールには、アイコンを設定しました。
・ダッシュボードをカスタマイズして( [+Modules+]を記載して )、モジュールを表示するようにしました。
(MODx Evolution 1.0.10J-r2には、ダッシュボードをカスタマイズするプラグインが入っていませんでしたが、
前から使ってたMODxには入ってたので、それをコピーして使いました。)
●メニューに関する不具合
・承認用のユーザーで管理画面にログインしたとき、利用権限のないモジュールまで、メニューに表示されてしまいました。
●ダッシュボードに関する不具合
・メニューの不具合と同じく、利用権限のないモジュールまで、ダッシュボードに表示されてしまいました。
・承認用のユーザーで管理画面にログインしたとき、モジュールに設定したアイコンが表示されず、アイコン未設定のときのアイコンが表示されました。
●下記の修正をしたところ、上記不具合が直りました。
manager/actions/welcome.static.php 136行目
修正前
$field = 'DISTINCT sm.id, sm.name, mg.member';
修正後
$field = 'DISTINCT sm.id, sm.name, sm.icon';
manager/actions/welcome.static.php 140行目
修正前
$where = "(mg.member IS NULL OR mg.member={$uid}) AND sm.disabled != 1";[/code]
修正後
$where = "mg.member={$uid} AND sm.disabled != 1";
manager/frames/menu.php 290行目
修正前
$where = "(mg.member IS NULL OR mg.member='{$uid}') AND sm.disabled != 1";
修正後
$where = "mg.member='{$uid}' AND sm.disabled != 1";
テーブルの仕様をきちんと把握できていないので、上記の修正に、少し不安を持っているのですが、間違いないでしょうか?