Moodle1.9のフィードバックの「分析」のグラフが茶色だけ

Moodle1.9のフィードバックの「分析」のグラフが茶色だけ

- Toshihiro KITA の投稿
返信数: 4
Moodle 1.9.11+ と フィードバック 2008050129 ですが、
分析の画面のグラフの色が添付のように、茶色一色になってしまいます。

HTMLソースを見てみたら、項目毎に変わるべきグラフの色(GIFファイル)が
<img alt="0" src="pics/0.gif" ...
<img alt="0" src="pics/0.gif" ...
のようにすべて同じになってしまっています。

demo.moodle.net (Moodle2.0) で試してみたら、ちゃんとカラフルな棒グラフになるので、
Moodle1.9 用の フィードバックモジュールのバグなのかな、と思いますが、
皆さんの所ではどうですか。
添付 feedback-analysis1.png
評点平均:有益(Useful) (1)
Toshihiro KITA への返信

Re: Moodle1.9のフィードバックの「分析」のグラフが茶色だけ

- Takayuki ISHIKAWA の投稿
画像 Developers

私の所でも同様の現象が発生します。これは bug ではなく、 /moodle/mod/feedback/item/multichoice/lib.php (1.9用) の132行目の if( function_exists("bcmod")) によって表示の色分けが決まっていますね。bcmod という関数が存在しないために色分けができていません。因みに、2.0用では216行目です。

--enable-bcmath をつけて PHP を compile し直せばちゃんと色分けされるようです。

Takayuki ISHIKAWA への返信

Re: Moodle1.9のフィードバックの「分析」のグラフが茶色だけ

- Toshihiro KITA の投稿
情報ありがとうございます。

やはりそこの箇所ですね。
10を越えたら0に戻す、と書けば済むと思うので、何故わざわざこのようなコーディングになっているのか
とても不思議です。

一度、コードを書き換えて試してみます。
Toshihiro KITA への返信

Re: Moodle1.9のフィードバックの「分析」のグラフが茶色だけ

- Toshihiro KITA の投稿
以下のように書き換えることで解決しました:

mod/feedback/item/multichoice/lib.php の 155行目付近 および
mod/feedback/item/multichoicerated/lib.php の 132行目付近の
                if( function_exists("bcmod")) {
                    $intvalue = bcmod($pixnr, 10);
                }else {
                    $intvalue = 0;
                }

                $intvalue = $pixnr - floor($pixnr/10)*10;
に。
添付 feedback-analysis-fixed1.png