ページ: 1
v3.71とv3.80において、ブログ設定のチーム管理で以下のような不具合が生じました。
1.チームから削除できない
2.管理者権限の変更ができない
いくつかの環境で検証しましたが、ちゃんと動作しているものもありました。
またエラーメッセージが出たり出なかったり、ドロップダウンメニューから実行すると一部うまくいったりと、動作がまちまちでした。
検証1
CMS v3.71 / PHP 7.0.8 / MariaDB 10.0.22 / 結果×
検証2
CMS v3.71 / PHP 7.0.25 / MariaDB 5.5.56 / 結果×
検証3
CMS v3.71 / PHP 5.6.25 / MariaDB 5.5.47 / 結果○
検証4(MAMP PRO)
CMS v3.80 / PHP 5.6.10 / MySQL 5.5.42 / 結果×
検証5(MAMP PRO)
CMS v3.80 / PHP 7.0.8 / MySQL 5.5.42 / 結果×
原因がわかるようでしたらよろしくお願いします。
編集者 ppyochan (2018-01-09 12:02:13)
オフライン
デバッグでステップ実行したところ
原因は、$member->isBlogAdmin関数でした。
isBlogAdmin関数の誤実装によって、
ブログの管理者権限があるか確認しようとしているのにチームメンバーかどうかを返すためです。
この関数の不具合は,こちらのスレッドになります
http://japan.nucleuscms.org/forum/viewt … 166#p31166
●チームからの削除の問題に関しては
2005年の初期のコードから「チームからの削除」の部分は
現在も同じコードなので、日本語版全バージョンにわたって
ご指摘の不具合はあると思われます。
●再現方法としては、
・個別ブログにおける管理権限をもつユーザーの人数が1名だけの場合です
チームにメンバーを追加でブログの管理権限をもつユーザーが2名以上になれば発生しないと思われます
ソースコードを修正しないで対応するには
ブログの管理権限をもつユーザーが2名以上になれば、エラーは発生しないので
ブログメンバーの追加で、ダミーのユーザーを管理者権限を加えて追加することで
管理者を2名以上にできるので、そのあと削除したいユーザーを選択するといいと思います
オフライン
ありがとうございます。
管理者を2人以上にすると削除できる場合もありましたが、
環境によっては削除できない場合もありました。
オフライン
修正が延び延びになっていてすみません。以前は夜遅くでも平気でコードを書いてたのですが、体力が落ちてきたので呑気に過ごしてます。汗
内容を確認して、把握できたら修正したいと思います。
オフライン
ページ: 1